+++ /dev/null
-Analog of fastacmd for blast+\r
-\r
--bash-3.2$ /local/opt/bin/blastdbcmd -help\r
-USAGE\r
- blastdbcmd [-h] [-help] [-db dbname] [-dbtype molecule_type]\r
- [-entry sequence_identifier] [-entry_batch input_file] [-pig PIG] [-info]\r
- [-range numbers] [-strand strand] [-mask_sequence_with numbers]\r
- [-out output_file] [-outfmt format] [-target_only] [-get_dups]\r
- [-line_length number] [-ctrl_a] [-version]\r
-\r
-DESCRIPTION\r
- BLAST database client, version 2.2.23+\r
-\r
-OPTIONAL ARGUMENTS\r
- -h\r
- Print USAGE and DESCRIPTION; ignore other arguments\r
- -help\r
- Print USAGE, DESCRIPTION and ARGUMENTS description; ignore other arguments\r
- -version\r
- Print version number; ignore other arguments\r
-\r
- *** BLAST database options\r
- -db <String>\r
- BLAST database name\r
- Default = `nr'\r
- -dbtype <String, `guess', `nucl', `prot'>\r
- Molecule type stored in BLAST database\r
- Default = `guess'\r
-\r
- *** Retrieval options\r
- -entry <String>\r
- Comma-delimited search string(s) of sequence identifiers:\r
- e.g.: 555, AC147927, 'gnl|dbname|tag', or 'all' to select all\r
- sequences in the database\r
- * Incompatible with: entry_batch, pig, info\r
- -entry_batch <File_In>\r
- Input file for batch processing (Format: one entry per line)\r
- * Incompatible with: entry, pig, info\r
- -pig <Integer, >=0>\r
- PIG to retrieve\r
- * Incompatible with: entry, entry_batch, target_only, info\r
- -info\r
- Print BLAST database information\r
- * Incompatible with: entry, entry_batch, outfmt, strand, target_only,\r
- ctrl_a, get_dups, pig, range\r
-\r
- *** Sequence retrieval configuration options\r
- -range <String>\r
- Range of sequence to extract (Format: start-stop)\r
- * Incompatible with: info\r
- -strand <String, `minus', `plus'>\r
- Strand of nucleotide sequence to extract\r
- Default = `plus'\r
- * Incompatible with: info\r
- -mask_sequence_with <String>\r
- Produce lower-case masked FASTA using the algorithm IDs specified (Format:\r
- N,M,...)\r
-\r
- *** Output configuration options\r
- -out <File_Out>\r
- Output file name\r
- Default = `-'\r
- -outfmt <String>\r
- Output format, where the available format specifiers are:\r
- %f means sequence in FASTA format\r
- %s means sequence data (without defline)\r
- %a means accession\r
- %g means gi\r
- %o means ordinal id (OID)\r
- %t means sequence title\r
- %l means sequence length\r
- %T means taxid\r
- %L means common taxonomic name\r
- %S means scientific name\r
- %P means PIG\r
- %mX means sequence masking data, where X is an optional comma-\r
- separted list of integers to specify the algorithm ID(s) to\r
- diaplay (or all masks if absent or invalid specification).\r
- Masking data will be displayed as a series of 'N-M' values\r
- separated by ';' or the word 'none' if none are available.\r
- For every format except '%f', each line of output will correspond to\r
- a sequence.\r
- Default = `%f'\r
- * Incompatible with: info\r
- -target_only\r
- Definition line should contain target GI only\r
- * Incompatible with: pig, info, get_dups\r
- -get_dups\r
- Retrieve duplicate accessions\r
- * Incompatible with: info, target_only\r
-\r
- *** Output configuration options for FASTA format\r
- -line_length <Integer, >=1>\r
- Line length for output\r
- Default = `80'\r
- -ctrl_a\r
- Use Ctrl-A as the non-redundant defline separator\r
- * Incompatible with: info\r
+++ /dev/null
--bash-3.2$ /sw/opt/hmmer3/bin/jackhmmer -h\r
-# jackhmmer :: iteratively search a protein sequence against a protein database\r
-# HMMER 3.0 (March 2010); http://hmmer.org/\r
-# Copyright (C) 2010 Howard Hughes Medical Institute.\r
-# Freely distributed under the GNU General Public License (GPLv3).\r
-# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\r
-Usage: jackhmmer [-options] <query seqfile> <target seqdb>\r
-\r
-where basic options are:\r
- -h : show brief help on version and usage\r
- -N <n> : set maximum number of iterations to <n> [5] (n>0)\r
-\r
-options directing output:\r
- -o <f> : direct output to file <f>, not stdout\r
- -A <f> : save multiple alignment of hits to file <s>\r
- --tblout <f> : save parseable table of per-sequence hits to file <s>\r
- --domtblout <f> : save parseable table of per-domain hits to file <s>\r
- --chkhmm <f> : save HMM checkpoints to files <s>-<iteration>.hmm\r
- --chkali <f> : save alignment checkpoints to files <s>-<iteration>.sto\r
- --acc : prefer accessions over names in output\r
- --noali : don't output alignments, so output is smaller\r
- --notextw : unlimit ASCII text output line width\r
- --textw <n> : set max width of ASCII text output lines [120] (n>=120)\r
-\r
-options controlling scoring system in first iteration:\r
- --popen <x> : gap open probability [0.02] (0<=x<0.5)\r
- --pextend <x> : gap extend probability [0.4] (0<=x<1)\r
- --mxfile <f> : substitution score matrix [default: BLOSUM62]\r
-\r
-options controlling reporting thresholds:\r
- -E <x> : report sequences <= this E-value threshold in output [10.0] (x>0)\r
- -T <x> : report sequences >= this score threshold in output\r
- --domE <x> : report domains <= this E-value threshold in output [10.0] (x>0)\r
- --domT <x> : report domains >= this score cutoff in output\r
-\r
-options controlling significance thresholds for inclusion in next round:\r
- --incE <x> : consider sequences <= this E-value threshold as significant\r
- --incT <x> : consider sequences >= this score threshold as significant\r
- --incdomE <x> : consider domains <= this E-value threshold as significant\r
- --incdomT <x> : consider domains >= this score threshold as significant\r
-\r
-options controlling acceleration heuristics:\r
- --max : Turn all heuristic filters off (less speed, more power)\r
- --F1 <x> : Stage 1 (MSV) threshold: promote hits w/ P <= F1 [0.02]\r
- --F2 <x> : Stage 2 (Vit) threshold: promote hits w/ P <= F2 [1e-3]\r
- --F3 <x> : Stage 3 (Fwd) threshold: promote hits w/ P <= F3 [1e-5]\r
- --nobias : turn off composition bias filter\r
-\r
-options controlling model construction after first iteration:\r
- --fast : assign cols w/ >= symfrac residues as consensus\r
- --hand : manual construction (requires reference annotation)\r
- --symfrac <x> : sets sym fraction controlling --fast construction\r
- --fragthresh <x> : if L < x<L>, tag sequence as a fragment\r
-\r
-options controlling relative weights in models after first iteration:\r
- --wpb : Henikoff position-based weights [default]\r
- --wgsc : Gerstein/Sonnhammer/Chothia tree weights\r
- --wblosum : Henikoff simple filter weights\r
- --wnone : don't do any relative weighting; set all to 1\r
- --wid <x> : for --wblosum: set identity cutoff [0.62] (0<=x<=1)\r
-\r
-options controlling effective seq number in models after first iteration:\r
- --eent : adjust eff seq # to achieve relative entropy target [default]\r
- --eclust : eff seq # is # of single linkage clusters\r
- --enone : no effective seq # weighting: just use nseq\r
- --eset <x> : set eff seq # for all models to <x>\r
- --ere <x> : for --eent: set minimum rel entropy/position to <x>\r
- --esigma <x> : for --eent: set sigma param to <x> [45.0]\r
- --eid <x> : for --eclust: set fractional identity cutoff to <x> [0.62]\r
-\r
-Options controlling E value calibration:\r
- --EmL <n> : length of sequences for MSV Gumbel mu fit [200] (n>0)\r
- --EmN <n> : number of sequences for MSV Gumbel mu fit [200] (n>0)\r
- --EvL <n> : length of sequences for Viterbi Gumbel mu fit [200] (n>0)\r
- --EvN <n> : number of sequences for Viterbi Gumbel mu fit [200] (n>0)\r
- --EfL <n> : length of sequences for Forward exp tail tau fit [100] (n>0)\r
- --EfN <n> : number of sequences for Forward exp tail tau fit [200] (n>0)\r
- --Eft <x> : tail mass for Forward exponential tail tau fit [0.04] (0<x<1)\r
-\r
-Other expert options:\r
- --nonull2 : turn off biased composition score corrections\r
- -Z <x> : set # of comparisons done, for E-value calculation\r
- --domZ <x> : set # of significant seqs, for domain E-value calculation\r
- --seed <n> : set RNG seed to <n> (if 0: one-time arbitrary seed) [42]\r
- --qformat <s> : assert query <seqfile> is in format <s>: no autodetection\r
- --tformat <s> : assert target <seqdb> is in format <s>>: no autodetection\r
- --cpu <n> : number of parallel CPU workers to use for multithreads\r
+++ /dev/null
- /local/gjb_lab/blast+/bin/psiblast -help\r
-USAGE\r
- psiblast [-h] [-help] [-import_search_strategy filename]\r
- [-export_search_strategy filename] [-db database_name]\r
- [-dbsize num_letters] [-gilist filename] [-negative_gilist filename]\r
- [-entrez_query entrez_query] [-subject subject_input_file]\r
- [-subject_loc range] [-query input_file] [-out output_file]\r
- [-evalue evalue] [-word_size int_value] [-gapopen open_penalty]\r
- [-gapextend extend_penalty] [-xdrop_ungap float_value]\r
- [-xdrop_gap float_value] [-xdrop_gap_final float_value]\r
- [-searchsp int_value] [-seg SEG_options] [-soft_masking soft_masking]\r
- [-matrix matrix_name] [-threshold float_value] [-culling_limit int_value]\r
- [-best_hit_overhang float_value] [-best_hit_score_edge float_value]\r
- [-window_size int_value] [-lcase_masking] [-query_loc range]\r
- [-parse_deflines] [-outfmt format] [-show_gis]\r
- [-num_descriptions int_value] [-num_alignments int_value] [-html]\r
- [-max_target_seqs num_sequences] [-num_threads int_value] [-remote]\r
- [-comp_based_stats compo] [-use_sw_tback] [-gap_trigger float_value]\r
- [-num_iterations int_value] [-out_pssm checkpoint_file]\r
- [-out_ascii_pssm ascii_mtx_file] [-in_msa align_restart]\r
- [-in_pssm psi_chkpt_file] [-pseudocount pseudocount]\r
- [-inclusion_ethresh ethresh] [-phi_pattern file] [-version]\r
-\r
-DESCRIPTION\r
- Position-Specific Initiated BLAST 2.2.22+\r
-\r
-OPTIONAL ARGUMENTS\r
- -h\r
- Print USAGE and DESCRIPTION; ignore other arguments\r
- -help\r
- Print USAGE, DESCRIPTION and ARGUMENTS description; ignore other arguments\r
- -version\r
- Print version number; ignore other arguments\r
-\r
- *** Input query options\r
- -query <File_In>\r
- Input file name\r
- Default = `-'\r
- * Incompatible with: in_msa, in_pssm\r
- -query_loc <String>\r
- Location on the query sequence (Format: start-stop)\r
-\r
- *** General search options\r
- -db <String>\r
- BLAST database name\r
- * Incompatible with: subject, subject_loc\r
- -out <File_Out>\r
- Output file name\r
- Default = `-'\r
- -evalue <Real>\r
- Expectation value (E) threshold for saving hits\r
- Default = `10'\r
- -word_size <Integer, >=2>\r
- Word size for wordfinder algorithm\r
- -gapopen <Integer>\r
- Cost to open a gap\r
- -gapextend <Integer>\r
- Cost to extend a gap\r
- -matrix <String>\r
- Scoring matrix name\r
- Default = `BLOSUM62'\r
- -threshold <Real, >=0>\r
- Minimum word score such that the word is added to the BLAST lookup table\r
- -comp_based_stats <String>\r
- Use composition-based statistics for blastp / tblastn:\r
- D or d: default (equivalent to 2)\r
- 0 or F or f: no composition-based statistics\r
- 1: Composition-based statistics as in NAR 29:2994-3005, 2001\r
- 2 or T or t : Composition-based score adjustment as in Bioinformatics\r
- 21:902-911,\r
- 2005, conditioned on sequence properties\r
- 3: Composition-based score adjustment as in Bioinformatics 21:902-911,\r
- 2005, unconditionally\r
- For programs other than tblastn, must either be absent or be D, F or 0\r
- Default = `2'\r
-\r
- *** BLAST-2-Sequences options\r
- -subject <File_In>\r
- Subject sequence(s) to search\r
- * Incompatible with: db, gilist, negative_gilist\r
- -subject_loc <String>\r
- Location on the subject sequence (Format: start-stop)\r
- * Incompatible with: db, gilist, negative_gilist, remote\r
-\r
- *** Formatting options\r
- -outfmt <String>\r
- alignment view options:\r
- 0 = pairwise,\r
- 1 = query-anchored showing identities,\r
- 2 = query-anchored no identities,\r
- 3 = flat query-anchored, show identities,\r
- 4 = flat query-anchored, no identities,\r
- 5 = XML Blast output,\r
- 6 = tabular,\r
- 7 = tabular with comment lines,\r
- 8 = Text ASN.1,\r
- 9 = Binary ASN.1\r
- 10 = Comma-separated values\r
-\r
- Options 6, 7, and 10 can be additionally configured to produce\r
- a custom format specified by space delimited format specifiers.\r
- The supported format specifiers are:\r
- qseqid means Query Seq-id\r
- qgi means Query GI\r
- qacc means Query accesion\r
- sseqid means Subject Seq-id\r
- sallseqid means All subject Seq-id(s), separated by a ';'\r
- sgi means Subject GI\r
- sallgi means All subject GIs\r
- sacc means Subject accession\r
- sallacc means All subject accessions\r
- qstart means Start of alignment in query\r
- qend means End of alignment in query\r
- sstart means Start of alignment in subject\r
- send means End of alignment in subject\r
- qseq means Aligned part of query sequence\r
- sseq means Aligned part of subject sequence\r
- evalue means Expect value\r
- bitscore means Bit score\r
- score means Raw score\r
- length means Alignment length\r
- pident means Percentage of identical matches\r
- nident means Number of identical matches\r
- mismatch means Number of mismatches\r
- positive means Number of positive-scoring matches\r
- gapopen means Number of gap openings\r
- gaps means Total number of gaps\r
- ppos means Percentage of positive-scoring matches\r
- frames means Query and subject frames separated by a '/'\r
- qframe means Query frame\r
- sframe means Subject frame\r
- When not provided, the default value is:\r
- 'qseqid sseqid pident length mismatch gapopen qstart qend sstart send\r
- evalue bitscore', which is equivalent to the keyword 'std'\r
- Default = `0'\r
- -show_gis\r
- Show NCBI GIs in deflines?\r
- -num_descriptions <Integer, >=0>\r
- Number of database sequences to show one-line descriptions for\r
- Default = `500'\r
- -num_alignments <Integer, >=0>\r
- Number of database sequences to show alignments for\r
- Default = `250'\r
- -html\r
- Produce HTML output?\r
-\r
- *** Query filtering options\r
- -seg <String>\r
- Filter query sequence with SEG (Format: 'yes', 'window locut hicut', or\r
- 'no' to disable)\r
- Default = `no'\r
- -soft_masking <Boolean>\r
- Apply filtering locations as soft masks\r
- Default = `false'\r
- -lcase_masking\r
- Use lower case filtering in query and subject sequence(s)?\r
-\r
- *** Restrict search or results\r
- -gilist <String>\r
- Restrict search of database to list of GI's\r
- * Incompatible with: negative_gilist, remote, subject, subject_loc\r
- -negative_gilist <String>\r
- Restrict search of database to everything except the listed GIs\r
- * Incompatible with: gilist, remote, subject, subject_loc\r
- -entrez_query <String>\r
- Restrict search with the given Entrez query\r
- * Requires: remote\r
- -culling_limit <Integer, >=0>\r
- If the query range of a hit is enveloped by that of at least this many\r
- higher-scoring hits, delete the hit\r
- * Incompatible with: best_hit_overhang, best_hit_score_edge\r
- -best_hit_overhang <Real, (>=0 and =<0.5)>\r
- Best Hit algorithm overhang value (recommended value: 0.1)\r
- * Incompatible with: culling_limit\r
- -best_hit_score_edge <Real, (>=0 and =<0.5)>\r
- Best Hit algorithm score edge value (recommended value: 0.1)\r
- * Incompatible with: culling_limit\r
- -max_target_seqs <Integer, >=1>\r
- Maximum number of aligned sequences to keep\r
-\r
- *** Statistical options\r
- -dbsize <Int8>\r
- Effective length of the database\r
- -searchsp <Int8, >=0>\r
- Effective length of the search space\r
-\r
- *** Search strategy options\r
- -import_search_strategy <File_In>\r
- Search strategy to use\r
- * Incompatible with: export_search_strategy\r
- -export_search_strategy <File_Out>\r
- File name to record the search strategy used\r
- * Incompatible with: import_search_strategy\r
-\r
- *** Extension options\r
- -xdrop_ungap <Real>\r
- X-dropoff value (in bits) for ungapped extensions\r
- -xdrop_gap <Real>\r
- X-dropoff value (in bits) for preliminary gapped extensions\r
- -xdrop_gap_final <Real>\r
- X-dropoff value (in bits) for final gapped alignment\r
- -window_size <Integer, >=0>\r
- Multiple hits window size, use 0 to specify 1-hit algorithm\r
- -gap_trigger <Real>\r
- Number of bits to trigger gapping\r
- Default = `22'\r
-\r
- *** Miscellaneous options\r
- -parse_deflines\r
- Should the query and subject defline(s) be parsed?\r
- -num_threads <Integer, >=1>\r
- Number of threads to use in the BLAST search\r
- Default = `1'\r
- * Incompatible with: remote\r
- -remote\r
- Execute search remotely?\r
- * Incompatible with: gilist, negative_gilist, subject_loc, num_threads,\r
- num_iterations\r
- -use_sw_tback\r
- Compute locally optimal Smith-Waterman alignments?\r
-\r
- *** PSI-BLAST options\r
- -num_iterations <Integer, >=1>\r
- Number of iterations to perform\r
- Default = `1'\r
- * Incompatible with: remote\r
- -out_pssm <File_Out>\r
- File name to store checkpoint file\r
- -out_ascii_pssm <File_Out>\r
- File name to store ASCII version of PSSM\r
- -in_msa <File_In>\r
- File name of multiple sequence alignment to restart PSI-BLAST\r
- * Incompatible with: in_pssm, query\r
- -in_pssm <File_In>\r
- PSI-BLAST checkpoint file\r
- * Incompatible with: in_msa, query, phi_pattern\r
-\r
- *** PSSM engine options\r
- -pseudocount <Integer>\r
- Pseudo-count value used when constructing PSSM\r
- Default = `0'\r
- -inclusion_ethresh <Real>\r
- E-value inclusion threshold for pairwise alignments\r
- Default = `0.002'\r
-\r
- *** PHI-BLAST options\r
- -phi_pattern <File_In>\r
- File name containing pattern to search\r
- * Incompatible with: in_pssm\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.engine.cluster.drmaa;\r
-\r
-import java.util.Collections;\r
-import java.util.Iterator;\r
-import java.util.LinkedList;\r
-import java.util.List;\r
-\r
-import org.ggf.drmaa.DrmCommunicationException;\r
-import org.ggf.drmaa.DrmaaException;\r
-import org.ggf.drmaa.JobInfo;\r
-import org.ggf.drmaa.JobTemplate;\r
-import org.ggf.drmaa.Session;\r
-import org.ggf.drmaa.SessionFactory;\r
-\r
-class _DrmaaExample {\r
-\r
- private static int NBULKS = 3;\r
- private static int JOB_CHUNK = 8;\r
- private static Session session = null;\r
-\r
- public static void main(String[] args) throws Exception {\r
- String jobPath = args[0];\r
-\r
- SessionFactory factory = SessionFactory.getFactory();\r
-\r
- session = factory.getSession();\r
- session.init(null);\r
-\r
- JobTemplate jt = createJobTemplate(jobPath, 5, true);\r
-\r
- List allJobIds = new LinkedList();\r
- List jobIds = null;\r
- boolean retry = true;\r
-\r
- for (int count = 0; count < NBULKS; count++) {\r
- do {\r
- try {\r
- jobIds = session.runBulkJobs(jt, 1, JOB_CHUNK, 1);\r
- retry = false;\r
- } catch (DrmCommunicationException e) {\r
- System.err.println("runBulkJobs() failed - retry: "\r
- + e.getMessage());\r
-\r
- Thread.sleep(1000);\r
- }\r
- } while (retry);\r
-\r
- allJobIds.addAll(jobIds);\r
-\r
- System.out.println("submitted bulk job with jobids:");\r
-\r
- Iterator i = jobIds.iterator();\r
-\r
- while (i.hasNext()) {\r
- System.out.println("\t \"" + i.next() + "\"");\r
- }\r
- }\r
-\r
- session.deleteJobTemplate(jt);\r
-\r
- /* submit some sequential jobs */\r
- jt = createJobTemplate(jobPath, 5, false);\r
-\r
- String jobId = null;\r
- retry = true;\r
-\r
- for (int count = 0; count < JOB_CHUNK; count++) {\r
- while (retry) {\r
- try {\r
- jobId = session.runJob(jt);\r
- retry = false;\r
- } catch (DrmCommunicationException e) {\r
- System.err.println("runBulkJobs() failed - retry: "\r
- + e.getMessage());\r
-\r
- Thread.sleep(1000);\r
- }\r
- }\r
-\r
- System.out.println("\t \"" + jobId + "\"");\r
- allJobIds.add(jobId);\r
- }\r
-\r
- session.deleteJobTemplate(jt);\r
-\r
- /* synchronize with all jobs */\r
- session.synchronize(allJobIds, Session.TIMEOUT_WAIT_FOREVER, false);\r
- System.out.println("synchronized with all jobs");\r
-\r
- /* wait all those jobs */\r
- Iterator i = allJobIds.iterator();\r
-\r
- while (i.hasNext()) {\r
- JobInfo status = null;\r
- jobId = (String) i.next();\r
-\r
- status = session.wait(jobId, Session.TIMEOUT_WAIT_FOREVER);\r
-\r
- /* report how job finished */\r
- if (status.wasAborted()) {\r
- System.out.println("job \"" + jobId + "\" never ran");\r
- } else if (status.hasExited()) {\r
- System.out.println("job \"" + jobId\r
- + "\" finished regularly with exit status "\r
- + status.getExitStatus());\r
- } else if (status.hasSignaled()) {\r
- System.out.println("job \"" + jobId\r
- + "\" finished due to signal "\r
- + status.getTerminatingSignal());\r
- } else {\r
- System.out.println("job \"" + jobId\r
- + "\" finished with unclear conditions");\r
- }\r
- }\r
- }\r
-\r
- private static JobTemplate createJobTemplate(String jobPath, int seconds,\r
- boolean isBulkJob) throws DrmaaException {\r
- JobTemplate jt = session.createJobTemplate();\r
-\r
- jt.setWorkingDirectory("$drmaa_hd_ph$");\r
- jt.setRemoteCommand(jobPath);\r
- jt.setArgs(Collections.singletonList(Integer.toString(seconds)));\r
- jt.setJoinFiles(true);\r
-\r
- if (!isBulkJob) {\r
- jt.setOutputPath(":$drmaa_hd_ph$/DRMAA_JOB");\r
- } else {\r
- jt.setOutputPath(":$drmaa_hd_ph$/DRMAA_JOB$drmaa_incr_ph$");\r
- }\r
-\r
- return jt;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.engine.cluster.drmaa;\r
-\r
-import org.ggf.drmaa.DrmaaException;\r
-import org.ggf.drmaa.Session;\r
-import org.ggf.drmaa.SessionFactory;\r
-import org.ggf.drmaa.Version;\r
-\r
-class _JobStatus {\r
-\r
- public static void main(String[] args) {\r
-\r
- SessionFactory factory = SessionFactory.getFactory();\r
- Session session = factory.getSession();\r
-\r
- try {\r
- System.out.println("Supported contact strings: \""\r
- + session.getContact() + "\"");\r
- System.out.println("Supported DRM systems: \""\r
- + session.getDrmSystem() + "\"");\r
- System.out.println("Supported DRMAA implementations: \""\r
- + session.getDrmaaImplementation() + "\"");\r
-\r
- session.init("");\r
-\r
- System.out.println("Using contact strings: \""\r
- + session.getContact() + "\"");\r
- System.out.println("Using DRM systems: \"" + session.getDrmSystem()\r
- + "\"");\r
- System.out.println("Using DRMAA implementations: \""\r
- + session.getDrmaaImplementation() + "\"");\r
-\r
- Version version = session.getVersion();\r
-\r
- System.out.println("Using DRMAA version " + version.toString());\r
-\r
- session.exit();\r
- } catch (DrmaaException e) {\r
- System.out.println("Error: " + e.getMessage());\r
- }\r
-\r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.engine.cluster.dundee;\r
-import static compbio.engine.cluster.dundee._QueueConstraints.FIRST_MEMORY_LIMIT;\r
-import static compbio.engine.cluster.dundee._QueueConstraints.LONG_TIME_LIMIT;\r
-import static compbio.engine.cluster.dundee._QueueConstraints.MAX_MEMORY_LIMIT;\r
-import static compbio.engine.cluster.dundee._QueueConstraints.SHORT_TIME_LIMIT;\r
-\r
-@Deprecated\r
-public enum _Queue {\r
-\r
- /*\r
- * devel.q 4Gb or 16Gb 8 hour I 64bit-pri.q 4Gb or 16Gb 24 hours B 64bit.q\r
- * 4Gb or 16Gb None B bigint.q 32Gb 8 h I bigmem.q 32Gb None B\r
- */\r
-\r
- /**\r
- * Order of the constraint reflect the priority of the queue\r
- */\r
- DEVEL(FIRST_MEMORY_LIMIT, SHORT_TIME_LIMIT, "devel.q"), PRIBIT64(\r
- FIRST_MEMORY_LIMIT, LONG_TIME_LIMIT, "64bit-pri.q"), BIT64(\r
- FIRST_MEMORY_LIMIT, 0, "64bit.q"), BIGINT(MAX_MEMORY_LIMIT,\r
- SHORT_TIME_LIMIT, "bigint.q"), BIGMEM(MAX_MEMORY_LIMIT, 0,\r
- "bigmem.q");\r
-\r
- int maxMemory;\r
- int maxRuntime;\r
- String qname;\r
- private _Queue(int maxMemory, int maxRuntime, String qname) {\r
- this.maxMemory = maxMemory;\r
- this.maxRuntime = maxRuntime;\r
- this.qname = qname;\r
- }\r
-\r
- // -q 64bit.q -l qname=64bit.q -l h_vmem=8000M -l ram=8000M\r
- @Override\r
- public String toString() {\r
- return qname;\r
- }\r
-\r
- /**\r
- * 0 - unlimited\r
- * \r
- * @return max runtime in hours\r
- */\r
- public int getTimeLimit() {\r
- return this.maxRuntime;\r
- }\r
-\r
- /**\r
- * \r
- * @return true if the queue has time limit, false overwise\r
- */\r
- public boolean hasTimeLimit() {\r
- return this.maxRuntime != 0;\r
- }\r
- /**\r
- * return max memory limit in Mb\r
- * \r
- * @return\r
- */\r
- public int getMemoryLimit() {\r
- return this.maxMemory;\r
- }\r
-\r
- public static _Queue getQueueByMemoryRequirements(int maxMemory) {\r
- if (maxMemory > FIRST_MEMORY_LIMIT) {\r
- return BIGMEM;\r
- } else if (maxMemory < MAX_MEMORY_LIMIT)\r
- return BIT64;\r
- else {\r
- throw new UnsupportedOperationException(\r
- "Cluster does not support tasks requiring more than 30000M of memory");\r
- }\r
- }\r
-\r
- public static _Queue getQueue(int maxMemory, int timeLimitInHours) {\r
- if (timeLimitInHours == 0) {\r
- return getQueueByMemoryRequirements(maxMemory);\r
- } else {\r
- if (timeLimitInHours <= SHORT_TIME_LIMIT) {\r
- if (maxMemory <= FIRST_MEMORY_LIMIT) {\r
- return DEVEL;\r
- } else if (maxMemory <= MAX_MEMORY_LIMIT) {\r
- return BIGINT;\r
- } else {\r
- throw new UnsupportedOperationException(\r
- "Cluster does not support tasks requiring more than 30000M of memory");\r
- }\r
- } else {\r
- // timeLimit > 8\r
- if (timeLimitInHours <= LONG_TIME_LIMIT\r
- && maxMemory <= FIRST_MEMORY_LIMIT) {\r
- return PRIBIT64;\r
- } else if (maxMemory <= MAX_MEMORY_LIMIT) {\r
- return BIGMEM;\r
- } else {\r
- throw new UnsupportedOperationException(\r
- "Cluster does not support tasks requiring more than 30000M of memory");\r
- }\r
- }\r
- }\r
- }\r
-\r
- public _Queue getQueue(String queueName) {\r
- switch (this) {\r
- case DEVEL :\r
- if (queueName.equals(DEVEL.toString())) {\r
- return DEVEL;\r
- }\r
- break;\r
- case PRIBIT64 :\r
- if (queueName.equals(PRIBIT64.toString())) {\r
- return PRIBIT64;\r
- }\r
- break;\r
- case BIT64 :\r
- if (queueName.equals(BIT64.toString())) {\r
- return BIT64;\r
- }\r
- break;\r
- case BIGMEM :\r
- if (queueName.equals(BIGMEM.toString())) {\r
- return BIGMEM;\r
- }\r
- break;\r
- case BIGINT :\r
- if (queueName.equals(BIGINT.toString())) {\r
- return BIGINT;\r
- }\r
- break;\r
- }\r
- // such queue appears to be not defined in the system!\r
- return null;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.engine.cluster.dundee;\r
-\r
-@Deprecated\r
-final class _QueueConstraints {\r
-\r
- private _QueueConstraints() {\r
- }\r
-\r
- public static final int SHORT_TIME_LIMIT = 8;\r
- public static final int LONG_TIME_LIMIT = 24;\r
- public static final int FIRST_MEMORY_LIMIT = 14000;\r
- public static final int MAX_MEMORY_LIMIT = 30000;\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-\r
-package compbio.engine.conf;\r
-\r
-import javax.management.openmbean.InvalidKeyException;\r
-\r
-import compbio.util.Util;\r
-\r
-@Deprecated\r
-public final class _Key {\r
-\r
- public final static String DELIM = "#";\r
-\r
- private final String cname;\r
- private final long id;\r
-\r
- public _Key(Class<?> clazz) {\r
- if (clazz == null) {\r
- throw new IllegalArgumentException("Class or Id is NULL");\r
- }\r
- this.cname = clazz.getSimpleName();\r
- this.id = getNonRepeatableNumber();\r
- }\r
-\r
- _Key(Class<?> clazz, long id) {\r
- if (clazz == null) {\r
- throw new IllegalArgumentException("Class or Id is NULL");\r
- }\r
- this.cname = clazz.getSimpleName();\r
- this.id = id;\r
- }\r
-\r
- @Override\r
- public boolean equals(Object obj) {\r
- if (obj == null) {\r
- return false;\r
- }\r
- _Key ckey = null;\r
- if (obj instanceof _Key) {\r
- ckey = (_Key) obj;\r
- } else {\r
- return false;\r
- }\r
- if (ckey.cname.equals(this.cname) && id == ckey.id) {\r
- return true;\r
- }\r
- return false;\r
- }\r
-\r
- @Override\r
- public String toString() {\r
- return cname + DELIM + id;\r
- }\r
-\r
- /*\r
- * id = 533411011589881 - 15 or 16 chars depending on the OS\r
- * \r
- * @see java.lang.Object#hashCode()\r
- */\r
- @Override\r
- public int hashCode() {\r
- return new Integer(cname.hashCode()\r
- * new Integer(new Long(id).toString().substring(9))).intValue();\r
- }\r
-\r
- static long getNonRepeatableNumber() {\r
- // Keep the random number 2 digits wide to simplify the task Id parsing\r
- // if required\r
- // The random value is concatenated with time value not added to it and\r
- // then converted to long.\r
- return Long.parseLong(Util.getRandomNumber(10, 99) + ""\r
- + System.nanoTime());\r
- }\r
-\r
- public static _Key parse(String key) {\r
- if (Util.isEmpty(key)) {\r
- throw new NullPointerException("Key must be provided!");\r
- }\r
- if (!key.contains(DELIM)) {\r
- throw new InvalidKeyException("Key " + key\r
- + " is not a valid task id");\r
- }\r
-\r
- int idx = key.indexOf(DELIM);\r
- if (idx < 0) {\r
- throw new InvalidKeyException("Key " + key\r
- + " is not a valid task id");\r
- }\r
- String runnerName = key.substring(0, idx);\r
- long id = 0;\r
- Class<?> runner = null;\r
- try {\r
- runner = Class.forName(runnerName);\r
- id = Long.parseLong(key.substring(idx + 1));\r
- } catch (NumberFormatException e) {\r
- throw new InvalidKeyException("Key " + key\r
- + " is not a valid task id");\r
- } catch (ClassNotFoundException e) {\r
- throw new InvalidKeyException("Key " + key\r
- + " is not a valid task id");\r
- }\r
- return new _Key(runner, id);\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.engine.local;\r
-\r
-import java.util.ArrayList;\r
-import java.util.HashSet;\r
-import java.util.List;\r
-import java.util.Set;\r
-import java.util.concurrent.AbstractExecutorService;\r
-import java.util.concurrent.Callable;\r
-import java.util.concurrent.ExecutorService;\r
-import java.util.concurrent.Future;\r
-import java.util.concurrent.TimeUnit;\r
-\r
-/**\r
- * This executor extends standard Java ExecutorService by adding the method to\r
- * obtain all Runnables which were running and did not complete upon executor\r
- * termination. For this to work properly Runnables must propagate an\r
- * Interruption exceptions, not swallow them, which a good Runnable should do\r
- * anyway.\r
- * \r
- * TODO it may be better to persists task from different place\r
- * \r
- * @author pvtroshin\r
- * @version 1.0 October 2009\r
- * @deprecated\r
- */\r
-@Deprecated\r
-class _TrackingExecutor extends AbstractExecutorService {\r
-\r
- private final ExecutorService executor;\r
-\r
- public _TrackingExecutor(ExecutorService executor) {\r
- this.executor = executor;\r
- }\r
-\r
- private final Set<Runnable> cancelledRunnableTasksAtShutdown = new HashSet<Runnable>();\r
- private final Set<Callable<?>> cancelledCallableTasksAtShutdown = new HashSet<Callable<?>>();\r
-\r
- public List getCancelledTasks() {\r
- if (!executor.isTerminated()) {\r
- throw new IllegalStateException(\r
- "Executor must be terminated before running this method!");\r
- }\r
- ArrayList tasks = new ArrayList(cancelledCallableTasksAtShutdown);\r
- tasks.addAll(cancelledRunnableTasksAtShutdown);\r
- return tasks;\r
- }\r
-\r
- @Override\r
- public void execute(final Runnable runnable) {\r
- executor.execute(new Runnable() {\r
- @Override\r
- public void run() {\r
- try {\r
- runnable.run();\r
- } finally {\r
- if (isShutdown() && Thread.currentThread().isInterrupted()) {\r
- cancelledRunnableTasksAtShutdown.add(runnable);\r
- }\r
- }\r
- }\r
- });\r
- }\r
-\r
- @Override\r
- public <T> Future<T> submit(final Callable<T> task) {\r
- return executor.submit(new Callable<T>() {\r
- @Override\r
- public T call() throws Exception {\r
- try {\r
- return task.call();\r
- } finally {\r
- if (isShutdown() && Thread.currentThread().isInterrupted()) {\r
- cancelledCallableTasksAtShutdown.add(task);\r
- }\r
- }\r
- }\r
- });\r
- }\r
-\r
- @Override\r
- public boolean awaitTermination(long timeout, TimeUnit unit)\r
- throws InterruptedException {\r
- return executor.awaitTermination(timeout, unit);\r
- }\r
-\r
- @Override\r
- public boolean isShutdown() {\r
- return executor.isShutdown();\r
- }\r
-\r
- @Override\r
- public boolean isTerminated() {\r
- return executor.isTerminated();\r
- }\r
-\r
- @Override\r
- public void shutdown() {\r
- executor.shutdown();\r
- }\r
-\r
- @Override\r
- public List<Runnable> shutdownNow() {\r
- return executor.shutdownNow();\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.data._structure;\r
-\r
-public enum JnetAnnotation {\r
-\r
- jnetpred("jnetpred", AType.ENUM),\r
-\r
- JNETCONF("", AType.ENUM),\r
-\r
- JNETSOL25("", AType.ENUM),\r
-\r
- JNETSOL5("", AType.ENUM),\r
-\r
- JNETSOL0("", AType.ENUM),\r
-\r
- JNETHMM("", AType.ENUM),\r
-\r
- JNETPROPH("", AType.ENUM),\r
-\r
- JNETPROPE("", AType.ENUM);\r
-\r
- String aName;\r
- AType type;\r
-\r
- JnetAnnotation(String aName, AType type) {\r
-\r
- }\r
-\r
- static enum AType {\r
- INTEGER, FLOAT, ENUM\r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.data._structure;\r
-\r
-\r
-public enum JpredAnnotation {\r
-\r
- jnetpred,\r
-\r
- JNETCONF,\r
-\r
- JNETSOL25,\r
-\r
- JNETSOL5,\r
-\r
- JNETSOL0,\r
-\r
- JNETHMM,\r
-\r
- JNETPROPH,\r
-\r
- JNETPROPE\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.data._structure;\r
-\r
-import java.util.Map;\r
-\r
-/**\r
- * Jnet result\r
- * \r
- * jnetpred:-,H,H,H,H,H,H,H,H,H,H,H,-,-,-,-,-,-,-,-,E,E,E,-,-,-,-,-,-,-,-,-,-,-,\r
- * -,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,H,H,H,H,H,H,H,H,H,H\r
- * ,H,H,-,-,H,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,H,H,H,H,H,-,-,-,-,H,H,H,H,\r
- * -,-,-,-,-,-,-,-,-,-,-,-,H,H,H,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-\r
- * , JNETCONF:7,3,7,9,9,9,9,9,9,9,7,5,2,6,6,3,6,7,5,1,0,5,3,3,6,4,6,6,7,7,7,7,7,\r
- * 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,3,6,8,9,9,9,9,9,9,9\r
- * 7,3,7,7,6,2,4,4,1,5,7,8,7,7,7,7,7,7,7,6,5,3,5,6,6,6,4,0,0,2,1,3,5,7,7,7,7,7,7\r
- * , JNETSOL25:B,B,-,-,-,B,-,B,-,B,B,B,-,-,-,B,-,B,-,-,-,-,-,B,-,B,-,-,-,-,-,-,\r
- * -,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,-,-,-,B,-,B,-\r
- * , B,B,B,-,-,-,B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,-,-,B,B,-,-,-,-,B,-,-,B,B,-,-\r
- * ,B,\r
- * JNETSOL5:-,-,-,-,-,-,B,-,-,-,-,-,-,-,-,-,B,B,B,B,-,-,-,B,-,-,-,-,-,-,-,-,-\r
- * ,-,-\r
- * JNETSOL0:-,-,-,-,-,-,B,-,-,B,-,B,-,-,-,-,-,-,-,-,B,-,-,-,-,-,-,-,-,-,-,-,\r
- * -,-,- ,-,-,-,-,-,-,-,-,-,-,-,-,B,-,-,B,-,B,-,-,\r
- * JNETHMM:-,H,H,H,H,H,H,H,H,H,H,\r
- * H,-,-,-,-,-,-,-,-,E,E,E,-,-,-,-,-,-,-,-,-,-,-,-,\r
- * -,-,-,-,-,-,-,-,-,-,-,-,-,-,-\r
- * ,-,-,-,-,-,-,-,-,-,-,-,-,-,H,H,H,H,H,H,H,H,H,H,H,\r
- * JNETPROPH:0.0110,0.1125,0.8552,0.0107\r
- * ,0.6245,0.3614,0.0120,0.8702,0.1238,0.0120\r
- * ,0.0193,0.9284,0.0708,0.0278,0.8703,0.1244\r
- * ,0.1591,0.7399,0.1456,0.2488,0.5824,0.1017,\r
- * JNETPROPE:0.0107,0.6245,0.3614,0.0120\r
- * ,0.8702,0.1238,0.0120,0.9335,0.0656,0.0102\r
- * ,0.9586,0.0465,0.0094,0.9662,0.0433,\r
- * ,0.1525,0.7103,0.1088,0.1181,0.7425,0.1784,\r
- * \r
- * \r
- * @author pvtroshin\r
- * \r
- */\r
-public class JpredResult {\r
-\r
- Map<JnetAnnotation, String> annotations;\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.pipeline._jpred;\r
-\r
-import java.io.FileNotFoundException;\r
-import java.util.HashSet;\r
-import java.util.Set;\r
-\r
-import javax.xml.stream.XMLStreamException;\r
-\r
-\r
-public class BlastBlastComparator {\r
-\r
- /**\r
- * args[0] is assumed to be the name of a Blast output file\r
- * \r
- * @throws XMLStreamException\r
- * @throws FileNotFoundException\r
- */\r
- public static void main(String[] args) throws FileNotFoundException,\r
- XMLStreamException {\r
- BlastParser res1 = new BlastParser(args[0]);\r
- BlastParser res2 = new BlastParser(args[1]);\r
- assert res1.iters.size() == res2.iters.size();\r
-\r
- for (Integer iterNum : res1.iters.keySet()) {\r
- Set<Hit> list = res1.iters.get(iterNum);\r
- Set<Hit> otherList = res2.iters.get(iterNum);\r
- System.out.print("Iter " + iterNum + " arg0: " + list.size());\r
- System.out.println(" arg1: " + otherList.size());\r
- BlastParser.printNames(getDiff(list, otherList));\r
- // System.out.println("Diffs: " + getDiff(list, otherList));\r
- // System.out.println("Diffs: " + getDiff(otherList, list));\r
-\r
- }\r
-\r
- }\r
-\r
- static Set<Hit> getDiff(Set<Hit> list, Set<Hit> otherList) {\r
- Set diff = new HashSet<Hit>();\r
- for (Hit pseq : list) {\r
- if (otherList.contains(pseq)) {\r
- continue;\r
- }\r
- diff.add(pseq);\r
- }\r
- return diff;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.pipeline._jpred;\r
-\r
-import java.io.IOException;\r
-import java.util.HashSet;\r
-import java.util.Set;\r
-\r
-import javax.xml.stream.XMLStreamException;\r
-\r
-public class BlastHmmerComparator {\r
-\r
- /**\r
- * args[0] is assumed to be the name of a Blast output file\r
- * \r
- * @throws XMLStreamException\r
- * @throws IOException\r
- */\r
- public static void main(String[] args) throws XMLStreamException,\r
- IOException {\r
- BlastParser res1 = new BlastParser(args[0]);\r
- JackHmmerHitParser res2 = new JackHmmerHitParser(args[1]);\r
- Set<Hit> list = res1.iters.get(3);\r
- Set<Hit> otherList = res2.hits;\r
- System.out.print("Iter " + 3 + " arg0: " + list.size());\r
- System.out.println(" arg1: " + otherList.size());\r
- BlastParser.printNames(getDiff(list, otherList));\r
- BlastParser.printNames(getDiff(otherList, list));\r
- // System.out.println("Diffs: " + getDiff(list, otherList));\r
- // System.out.println("Diffs: " + getDiff(otherList, list));\r
-\r
- }\r
-\r
- static Set<Hit> getDiff(Set<Hit> list, Set<Hit> otherList) {\r
- Set diff = new HashSet<Hit>();\r
- for (Hit pseq : list) {\r
- if (otherList.contains(pseq)) {\r
- continue;\r
- }\r
- diff.add(pseq);\r
- }\r
- return diff;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.pipeline._jpred;\r
-\r
-import java.io.BufferedInputStream;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.util.Collection;\r
-import java.util.HashMap;\r
-import java.util.HashSet;\r
-import java.util.Map;\r
-import java.util.Set;\r
-\r
-import javax.xml.stream.XMLInputFactory;\r
-import javax.xml.stream.XMLStreamException;\r
-import javax.xml.stream.XMLStreamReader;\r
-\r
-public class BlastParser {\r
-\r
- Map<Integer, Set<Hit>> iters;\r
-\r
- public BlastParser(String file) throws FileNotFoundException,\r
- XMLStreamException {\r
- XMLInputFactory f = XMLInputFactory.newInstance();\r
- XMLStreamReader r = f.createXMLStreamReader(new BufferedInputStream(\r
- new FileInputStream(new File(file))));\r
- Set<Hit> pl = new HashSet<Hit>();\r
- Hit psi = null;\r
- this.iters = new HashMap<Integer, Set<Hit>>();\r
- Integer iternum = null;\r
- while (r.hasNext()) {\r
- int idx = r.next();\r
- if (r.isStartElement()) {\r
- String name = r.getLocalName();\r
- if (name.equals("Iteration_iter-num")) {\r
- iternum = Integer.parseInt(r.getElementText().trim());\r
- System.out.println("Iter " + iternum);\r
- }\r
- if (name.equals("Hit")) {\r
- psi = new Hit();\r
- }\r
- if (name.equals("Hit_num")) {\r
- psi.number = r.getElementText();\r
- }\r
- if (name.equals("Hit_accession")) {\r
- psi.accession = r.getElementText();\r
- // System.out.println(psi.id);\r
- }\r
- if (name.equals("Hit_def")) {\r
- // System.out.println(r.getElementText());\r
- psi.name = r.getElementText().split("\\s+")[0].trim();\r
- // System.out.println(psi.id);\r
- }\r
- if (name.equals("Hsp_hseq")) {\r
- psi.seq = r.getElementText();\r
- // System.out.println(psi.seq);\r
- }\r
- if (name.equals("Hsp_evalue")) {\r
- psi.evalue = r.getElementText();\r
- // System.out.println(psi.seq);\r
- }\r
-\r
- }\r
-\r
- if (r.isEndElement()) {\r
- String name = r.getLocalName();\r
- if (name.equals("Hit")) {\r
- boolean replaced = pl.add(psi);\r
- assert replaced : "Expect unique elements only!";\r
- psi = null;\r
- }\r
- if (name.equals("Iteration")) {\r
- iters.put(iternum, pl);\r
- pl = new HashSet<Hit>();\r
- }\r
- }\r
- }\r
-\r
- }\r
-\r
- /**\r
- * args[0] is assumed to be the name of a Blast output file\r
- * \r
- * @throws XMLStreamException\r
- * @throws FileNotFoundException\r
- */\r
- public static void main(String[] args) throws FileNotFoundException,\r
- XMLStreamException {\r
- BlastParser parser = new BlastParser(args[0]);\r
- printHits(parser.iters);\r
- }\r
-\r
- static final void printHits(Map<Integer, Set<Hit>> iterNumPsiSeqs) {\r
- for (Integer iterNum : iterNumPsiSeqs.keySet()) {\r
- System.out.println("Iteration " + iterNum);\r
- printHits(iterNumPsiSeqs.get(iterNum));\r
- }\r
- }\r
-\r
- static final void printHits(Collection<Hit> psiseqs) {\r
- assert psiseqs != null;\r
- System.out.println("Total hits: " + psiseqs.size());\r
- for (Hit pseq : psiseqs) {\r
- System.out.println("Hit: " + pseq.number + " Accession: "\r
- + pseq.accession + " name " + pseq.name);\r
- }\r
- }\r
-\r
- static final void printNames(Collection<Hit> psiseqs) {\r
- assert psiseqs != null;\r
- System.out.println("Total hits: " + psiseqs.size());\r
- for (Hit pseq : psiseqs) {\r
- System.out.print(pseq.number + " ");\r
- System.out.println(pseq.name);\r
- }\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.pipeline._jpred;\r
-\r
-import java.util.Comparator;\r
-\r
-public class Hit {\r
- String name;\r
- String number;\r
- String accession;\r
- String seq;\r
- String evalue;\r
-\r
- @Override\r
- public String toString() {\r
- return "accession=" + accession + ", name=" + name + ", num=" + number\r
- + ", evalue=" + evalue + "\n"; // + ", seq=" + seq +\r
- }\r
-\r
- @Override\r
- public int hashCode() {\r
- final int prime = 31;\r
- int result = 1;\r
- result = prime * result + ((name == null) ? 0 : name.hashCode());\r
- return result;\r
- }\r
-\r
- @Override\r
- public boolean equals(Object obj) {\r
- if (this == obj)\r
- return true;\r
- if (obj == null)\r
- return false;\r
- if (getClass() != obj.getClass())\r
- return false;\r
- Hit other = (Hit) obj;\r
- if (name == null) {\r
- if (other.name != null)\r
- return false;\r
- } else if (!name.equals(other.name))\r
- return false;\r
- return true;\r
- }\r
-\r
- public static final class NumberComporator implements Comparator<Hit> {\r
- @Override\r
- public int compare(Hit o1, Hit o2) {\r
- return Integer.valueOf(o1.number).compareTo(\r
- Integer.valueOf(o2.number));\r
- }\r
- }\r
-\r
- public static final class EvalueComporator implements Comparator<Hit> {\r
- @Override\r
- public int compare(Hit o1, Hit o2) {\r
- return Double.valueOf(o1.evalue).compareTo(\r
- Double.valueOf(o2.evalue));\r
- }\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.pipeline._jpred;\r
-\r
-import java.io.BufferedReader;\r
-import java.io.FileInputStream;\r
-import java.io.IOException;\r
-import java.io.InputStreamReader;\r
-import java.util.ArrayList;\r
-import java.util.Collections;\r
-import java.util.HashSet;\r
-import java.util.List;\r
-import java.util.Scanner;\r
-import java.util.Set;\r
-\r
-/**\r
- * Parser for the following files:\r
- * \r
- * @author pvtroshin\r
- * \r
- */\r
-public class JackHmmerHitParser {\r
- //# --- full sequence ---- --- best 1 domain ---- --- domain number estimation ----\r
- //# target name accession query name accession E-value score bias E-value score bias exp reg clu ov env dom rep inc description of target\r
- //# ------------------- ---------- -------------------- ---------- --------- ------ ----- --------- ------ ----- --- --- --- --- --- --- --- --- ---------------------\r
- //tr|Q6TVU2|Q6TVU2_ORFV - gi_74230740_gb_ABA00545.1 - 4.5e-271 910.4 0.0 5.1e-271 910.2 0.0 1.0 1 0 0 1 1 1 1 Putative uncharacterized protein OS=Orf virus PE=4 SV=1\r
-\r
- Set<Hit> hits;\r
-\r
- public JackHmmerHitParser(String file) throws IOException {\r
-\r
- BufferedReader bfr = new BufferedReader(new InputStreamReader(\r
- new FileInputStream(file), "ISO-8859-1"), 64000);\r
- // throw away first three lines; \r
- this.hits = new HashSet<Hit>();\r
- String line = bfr.readLine();\r
- bfr.readLine();\r
- bfr.readLine();\r
- int hitc = 0;\r
- while ((line = bfr.readLine()) != null) {\r
- hitc++;\r
- Scanner scan = new Scanner(line);\r
- scan.useDelimiter("\\s+");\r
- extractData(scan, hitc);\r
- }\r
- List<Hit> lhits = new ArrayList<Hit>(hits);\r
- Collections.sort(lhits, new Hit.NumberComporator());\r
- }\r
-\r
- void extractData(Scanner scan, int hitcounter) {\r
- Hit pseq = new Hit();\r
-\r
- String tname = scan.next();\r
- pseq.name = tname;\r
- //System.out.println(tname);\r
-\r
- String tacc = scan.next();\r
- pseq.accession = tacc;\r
- //System.out.println(tacc);\r
- String qname = scan.next();\r
- //System.out.println(qname);\r
- String qacc = scan.next();\r
- //System.out.println(qacc);\r
-\r
- Double evalue = scan.nextDouble();\r
- //System.out.println(evalue);\r
- pseq.evalue = evalue.toString();\r
-\r
- Double score = scan.nextDouble();\r
- //System.out.println(score);\r
- pseq.evalue = evalue.toString();\r
- pseq.number = new Integer(hitcounter).toString();\r
- boolean unique = hits.add(pseq);\r
- assert unique : "Unique hits are expected!";\r
- }\r
-\r
- public static void main(String[] args) throws IOException {\r
- assert args[0] != null;\r
- JackHmmerHitParser parser = new JackHmmerHitParser(args[0]);\r
- BlastParser.printHits(parser.hits);\r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.pipeline._jpred;\r
-\r
-import java.util.List;\r
-\r
-import compbio.data.sequence.FastaSequence;\r
-\r
-/**\r
- * \r
- * jpred --sequence <fasta file> OR --alignment <clustalW alignment> [--db\r
- * <database>] [--pred-nohits] [--logLevel=(ERROR|INFO|DEBUG)] [--help]\r
- * \r
- * jpred4 --sequence <fasta file> The path to the sequence (in FASTA format) you\r
- * want to predict OR\r
- * \r
- * [--alignment <clustalW alignment>] The alignment which to use for prediction\r
- * \r
- * [--profile=<path to HMM profile>]\r
- * \r
- * [--db <database>] Database to use for PSI-BLAST querying. Default: uniref90 (\r
- * /homes/www-jpred/databases/uniref90.filt) Please note that database must be\r
- * psi-blast indexed\r
- * \r
- * [--pred-nohits] Toggle allowing Jpred to make predictions even when there are\r
- * no PSI-BLAST hits.\r
- * \r
- * [--logLevel=(ERROR|INFO|DEBUG)] one of ERROR, INFO, DEBUG [--help]\r
- * \r
- * \r
- * @author pvtroshin\r
- * \r
- */\r
-public class Jpred4 {\r
-\r
- List<FastaSequence> readFastaSequence() {\r
- return null;\r
- }\r
-\r
- public void runPsiBlast() {\r
- };\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.pipeline._jpred;\r
-\r
-public class PScore {\r
-\r
- String name; \r
- String otherName;\r
- double score; \r
- \r
- \r
- @Override\r
- public boolean equals(Object obj) {\r
- if(obj==null) { \r
- return false; \r
- }\r
- if(!(obj instanceof PScore)) { \r
- return false; \r
- }\r
- PScore pscore = (PScore)obj; \r
- if(Double.compare(score, pscore.score)!=0) {\r
- return false; \r
- }\r
- if(!this.name.equalsIgnoreCase(pscore.name)) {\r
- return false; \r
- }\r
- if(!this.otherName.equalsIgnoreCase(pscore.otherName)) {\r
- return false; \r
- }\r
- return true;\r
- }\r
- \r
- @Override\r
- public int hashCode() {\r
- return new Double((name.hashCode() * otherName.hashCode()*45)/score).intValue();\r
- }\r
- \r
- @Override\r
- public String toString() {\r
- String value = "Name: " + name + "\n";\r
- value += "OtherName: " + otherName+ "\n";\r
- value += "Score: " + score+ "\n";\r
- return value;\r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.pipeline._jpred;\r
-\r
-import java.io.BufferedInputStream;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.IOException;\r
-import java.util.HashSet;\r
-import java.util.List;\r
-import java.util.Set;\r
-\r
-import compbio.data.sequence.FastaSequence;\r
-import compbio.data.sequence.SequenceUtil;\r
-\r
-public class Pairwise {\r
-\r
- private final List<FastaSequence> sequences; \r
- final Set<PScore> pscores; \r
- \r
- public Pairwise(List<FastaSequence> sequences) {\r
- this.sequences = sequences;\r
- pscores = new HashSet<PScore>(); \r
- }\r
-\r
- void compare() {\r
- for (int i = 0; i < sequences.size(); i++) {\r
- FastaSequence seq1 = sequences.get(i); \r
- System.out.println(seq1.getId());\r
- for (int j = i+1; j < sequences.size(); j++) {\r
- FastaSequence seq2 = sequences.get(j);\r
- PScore pscore = new PScore();\r
- pscore.name = seq1.getId();\r
- pscore.otherName = seq2.getId();\r
- pscores.add(pscore);\r
- compare(pscore, seq1.getSequence(), seq2.getSequence());\r
- }\r
- }\r
- }\r
-\r
- void compare(PScore pscore, String seq1, String seq2) { \r
- char[] chars1 = seq1.trim().toUpperCase().toCharArray(); \r
- char[] chars2 = seq2.trim().toUpperCase().toCharArray();\r
- if(chars1.length != chars2.length) { \r
- throw new IllegalArgumentException("Different lenght sequence are provided but same expected! \n Sequence 1: \n" + pscore.name+ \r
- "\n Length:"+chars1.length +"\n "+ \r
- "Sequence 2: \n " + pscore.otherName + \r
- " \n Lenght: " + chars2.length ); \r
- }\r
- compare(pscore, chars1, chars2); \r
- }\r
- \r
- void compare(PScore pscore, char[] seq1, char[] seq2) { \r
- int sameResedue = 0; \r
- for (int i = 0; i < seq1.length; i++) {\r
- if(seq1[i]==seq2[i]) { \r
- sameResedue++;\r
- }\r
- }\r
- pscore.score = (double)sameResedue /seq1.length;\r
- System.out.println(pscore.score*100);\r
- }\r
- \r
- public static final void main(String[] args) throws FileNotFoundException, IOException {\r
- File in = new File(args[0]);\r
- List<FastaSequence> fslist = SequenceUtil.readFasta(new BufferedInputStream(new FileInputStream(in)));\r
- Pairwise pair = new Pairwise(fslist);\r
- pair.compare(); \r
- System.out.println(pair.pscores);\r
- }\r
-}\r
+++ /dev/null
-Requirements:\r
-1) Various inputs - sequence, alignment, use alignment on first step only and feed it to psi blast \r
-or build a profile immediately. \r
-2) Run standalone\r
- - on the cluster\r
- - in parallel\r
- - as a part of web services\r
-3) Provide low-memory option \r
-4) Various log levels\r
-5) Configuration is externalised\r
-\r
- \r
-
\ No newline at end of file
+++ /dev/null
-## potentially a better set of parameters (esp. -b & -v)\r
-## which avoid PSI-BLAST dying with large number of hits\r
- \r
-# 'soft' filtering of the query sequence\r
-psiblast.prms.set1=-e0.05 -h0.01 -m6 -b10000 -v10000 -j3 -F "m S" \r
-\r
-# stricter searching criteria\r
-psiblast.prms.set2=-e0.001 -h0.0001 -m6 -b10000 -v10000 -j3\r
-psiblast.prms.set3=-e0.05 -h0.01 -m6 -b10000 -v10000 -j3
\ No newline at end of file
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner;\r
-\r
-import java.net.UnknownServiceException;\r
-\r
-import compbio.engine.cluster.dundee._Queue;\r
-\r
-@Deprecated\r
-public class _NativeSpecHelper {\r
-\r
- int maxCalculationTime;\r
- int requiredMemory;\r
- String queue;\r
-\r
- public _NativeSpecHelper(int requiredMemory) {\r
- this(requiredMemory, 0);\r
- }\r
-\r
- public _NativeSpecHelper(int requiredMemory, int maxCalculationTime) {\r
- this.requiredMemory = requiredMemory;\r
- this.maxCalculationTime = maxCalculationTime;\r
- }\r
-\r
- public void setRequiredMemory(int memory) {\r
- this.requiredMemory = memory;\r
- }\r
-\r
- int getRequiredMemory() {\r
- return requiredMemory;\r
- }\r
-\r
- public void setQueue(String queue) {\r
- this.queue = queue;\r
- }\r
-\r
- public String getQueue() {\r
- return queue;\r
- }\r
-\r
- // -q 64bit.q -l qname=64bit.q -l h_vmem=8000M -l ram=8000M\r
- public String getNativeSpec() throws UnknownServiceException {\r
- if (queue == null) {\r
- queue = getApproprieteQueue().toString();\r
- } else {\r
- // check whether chosen queue suits for memory and runtime settings\r
- _Queue knownQueue = _Queue.BIGINT.getQueue(queue);\r
- if (knownQueue == null) {\r
- throw new UnknownServiceException("Queue " + queue\r
- + " is not regestered in the system! ");\r
- }\r
- if (this.requiredMemory <= knownQueue.getMemoryLimit()) {\r
- throw new UnknownServiceException("Queue " + queue\r
- + " has a memory limit of "\r
- + knownQueue.getMemoryLimit()\r
- + "M - which is smaller than requested!");\r
- }\r
- if (knownQueue.hasTimeLimit()\r
- && this.maxCalculationTime <= knownQueue.getTimeLimit()) {\r
- throw new UnknownServiceException("Queue " + queue\r
- + " has a time limit of " + knownQueue.getTimeLimit()\r
- + "hours - which is smaller than requested!");\r
- }\r
- }\r
- return "-q " + queue.toString() + "-l qname=" + queue.toString()\r
- + ", h_vmem=" + requiredMemory + "M,ram=" + requiredMemory\r
- + "M";\r
- }\r
-\r
- public _Queue getApproprieteQueue() {\r
- return _Queue.getQueue(requiredMemory, maxCalculationTime);\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Arrays;\r
-import java.util.List;\r
-\r
-import compbio.engine.client.CommandBuilder;\r
-import compbio.engine.client.Executable;\r
-import compbio.engine.client.RunConfiguration;\r
-import compbio.metadata.Limit;\r
-import compbio.metadata.LimitsManager;\r
-\r
-@Deprecated\r
-public abstract class _SkeletalCommandBuilder\r
- implements\r
- Executable<_SkeletalCommandBuilder> {\r
-\r
- String tmpDirectory;\r
- String name;\r
- String email;\r
- List<String> params = new ArrayList<String>();\r
-\r
- public _SkeletalCommandBuilder setEmail(String email) {\r
- this.email = email;\r
- return this;\r
- }\r
-\r
- public _SkeletalCommandBuilder setName(String name) {\r
- this.name = name;\r
- return this;\r
- }\r
-\r
- public String getName() {\r
- return name;\r
- }\r
-\r
- public String getEmail() {\r
- return email;\r
- }\r
-\r
- public _SkeletalCommandBuilder addParameters(String[] parameters) {\r
- this.params.addAll(Arrays.asList(parameters));\r
- return this;\r
- }\r
-\r
- public _SkeletalCommandBuilder addParameters(List<String> parameters) {\r
- this.params.addAll(parameters);\r
- return this;\r
- }\r
-\r
- @Override\r
- public CommandBuilder<_SkeletalCommandBuilder> getParameters(\r
- ExecProvider provider) {\r
- return null;\r
- }\r
-\r
- public _SkeletalCommandBuilder addParameter(String parameter) {\r
- params.add(parameter);\r
- return this;\r
- }\r
-\r
- @Override\r
- public <V> V getResults(String directory) {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public Executable<?> loadRunConfiguration(RunConfiguration rconfig) {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getOutput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getError() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public Limit<_SkeletalCommandBuilder> getLimit(String presetName) {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public LimitsManager<_SkeletalCommandBuilder> getLimits() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getClusterJobSettings() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import static compbio.runner._impl.BlastParameters.parAlView;\r
-import static compbio.runner._impl.BlastParameters.parDatabase;\r
-import static compbio.runner._impl.BlastParameters.parDel;\r
-import static compbio.runner._impl.BlastParameters.parEvalue;\r
-import static compbio.runner._impl.BlastParameters.parInput;\r
-import static compbio.runner._impl.BlastParameters.parOutput;\r
-\r
-import java.io.File;\r
-import java.util.Arrays;\r
-import java.util.List;\r
-\r
-import compbio.runner._SkeletalCommandBuilder;\r
-\r
-public class BlastAll extends _SkeletalCommandBuilder {\r
-\r
- static final String command = "blastall";\r
-\r
- enum blastType {\r
- blastp, tbastn, blastn\r
- }\r
-\r
- enum dataBase {\r
- pdb\r
- }\r
-\r
- static double default_evalue = 0.001d;\r
- static final String parBlastType = "-p";\r
-\r
- private final String workDirectory;\r
-\r
- public BlastAll(String workDirectory) {\r
- this.workDirectory = workDirectory;\r
- }\r
-\r
- // Resulting command:\r
- // /fc_gpfs/gjb_lab/www-refine/bin/blast_32bit/blast-2.2.17/bin/blastall -p\r
- // blastp -i $input -d $dbnam -e $evalue -m 9 -o $outfile\r
-\r
- String getCommand(blastType btype, dataBase database, String input,\r
- String output) {\r
- return Environment.getBlastBinDir() + command + parDel + parBlastType\r
- + blastType.blastp + parDel + parInput + input + parDel\r
- + parDatabase + Environment.getBlastDatabasesDir() + database\r
- + parDel + parEvalue + default_evalue + parAlView + parOutput\r
- + output;\r
- }\r
-\r
- String getFullTestCommand(String test_input, String test_outfile) {\r
- return Environment.getBlastBinDir() + command + parDel + parBlastType\r
- + blastType.blastp + parDel + parInput + test_input + parDel\r
- + parDatabase + Environment.getBlastDatabasesDir()\r
- + dataBase.pdb + parDel + parEvalue + default_evalue\r
- + parAlView + parOutput + test_outfile;\r
- }\r
-\r
- static String getTestCommand() {\r
- return Environment.getBlastBinDir() + command;\r
- }\r
-\r
- static List<String> getTestArgs() {\r
- return Arrays\r
- .asList(new String[]{\r
- parBlastType + blastType.blastp,\r
- parDatabase + Environment.getBlastDatabasesDir()\r
- + dataBase.pdb, parEvalue + default_evalue,\r
- parAlView});\r
- }\r
-\r
- public boolean removeOutput(String outfile) {\r
- File out = new File(outfile);\r
- if (out.exists()) {\r
- if (out.canWrite()) {\r
- return out.delete();\r
- }\r
- }\r
- return false;\r
- }\r
-\r
- public String getCommand(ExecProvider provider) {\r
- return Environment.getBlastBinDir() + command;\r
- }\r
-\r
- public String getCommandName() {\r
- return command;\r
- }\r
-\r
- @Override\r
- public List<String> getCreatedFiles() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getInput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-/**\r
- * Utility class for common Blast parameters\r
- * \r
- * @author pvtroshin TODO\r
- */\r
-public class BlastParameters {\r
-\r
- private BlastParameters() {\r
- } // prevent instantiation\r
-\r
- static String outputName = "output.blast";\r
- static String outputProfileName = "output.profile";\r
- static final String parInput = "-i";\r
- static final String parDatabase = "-d ";\r
- static final String parOutput = "-o";\r
- static final String parEvalue = "-e";\r
- final static String parDel = " ";\r
- static final String parAlView = "-m 9";\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-/**\r
- * This is utility class to encapsulate environmental variables like directory paths \r
- * @author pvtroshin\r
- */\r
-public final class Environment {\r
-\r
- private Environment() { } // prevent instantiation\r
- \r
- public static String getBlastBinDir() { \r
- return "/fc_gpfs/gjb_lab/www-refine/bin/blast_32bit/blast-2.2.17/bin/";\r
- }\r
- \r
- public static final String getBlastDatabasesDir() { \r
- return "/db/blastdb/"; \r
- }\r
- public static final String getRPSBlastDatabasesDir() { \r
- return "/db/CDD/"; \r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import java.util.Arrays;\r
-import java.util.List;\r
-\r
-import compbio.runner._SkeletalCommandBuilder;\r
-\r
-/*\r
- @see \r
- RONN does not accept stdin the file name must be defined as parameter\r
- It accepts only clear sequence, no FASTA header! \r
- It can only analyse ONE sequence per run! (or may be not, but the results gets overriden!)\r
-\r
- */\r
-public class Mcl extends _SkeletalCommandBuilder {\r
-\r
- private static final String command = "/homes/pvtroshin/soft/MclRunner.sh";\r
- // -q bigmem.q -l qname=bigmem.q,ram=8000M,h_vmem=8000M\r
- private static final String nativeSpec = " -q 64bit.q -l qname=64bit.q -l h_vmem=8000M -l ram=8000M";\r
- // Read from stdin and write to stdout\r
- private static final List<String> params = Arrays\r
- .asList(new String[] { "" }); // "-","--abc", "-o -"\r
-\r
- private final String workDirectory;\r
-\r
- public Mcl(String workDirectory) {\r
- this.workDirectory = workDirectory;\r
- }\r
-\r
- public static List<String> getTestParams() {\r
- return params;\r
- }\r
-\r
- public String getCommand(ExecProvider provider) {\r
- return command;\r
- }\r
-\r
- public static String getTestCommand() {\r
- return command;\r
- }\r
-\r
- public String getCommandName() {\r
- return "MCL";\r
- }\r
-\r
- @Override\r
- public List<String> getCreatedFiles() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getInput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import java.util.Arrays;\r
-import java.util.List;\r
-\r
-import compbio.engine.client.CommandBuilder;\r
-import compbio.engine.client.Executable;\r
-import compbio.engine.client.RunConfiguration;\r
-import compbio.metadata.Limit;\r
-import compbio.metadata.LimitsManager;\r
-\r
-/*\r
- @see http://www.cbs.dtu.dk/cgi-bin/nph-runsafe?man=netNglyc\r
- */\r
-public class NetNglyc implements Executable<NetNglyc> {\r
-\r
- private static final String command = "/homes/www-refine/bin/Brunak/NOBACK/netNglyc-1.0a/netNglyc";\r
-\r
- List<String> params;\r
-\r
- public NetNglyc() {\r
- }\r
-\r
- @Override\r
- public CommandBuilder<NetNglyc> getParameters(ExecProvider provider) {\r
- return null; // Arrays.asList(new String[] { "-a", "-f" }); // "-g"\r
- // potentially\r
- }\r
-\r
- public static List<String> getTestArgs() {\r
- return Arrays.asList(new String[] { "-a", "-f" });\r
- }\r
-\r
- @Override\r
- public NetNglyc addParameters(List<String> parameters) {\r
- this.params = parameters;\r
- return this;\r
- }\r
-\r
- public static String getTestCommand() {\r
- return command;\r
- }\r
-\r
- public String getCommandName() {\r
- return "netNglyc";\r
- }\r
-\r
- @Override\r
- public List<String> getCreatedFiles() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getInput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public <V> V getResults(String directory) {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public Executable<?> loadRunConfiguration(RunConfiguration rconfig) {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getOutput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getError() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public Limit<NetNglyc> getLimit(String presetName) {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public LimitsManager<NetNglyc> getLimits() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
- @Override\r
- public String getClusterJobSettings() {\r
- // TODO Auto-generated method stub\r
- return null; \r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import java.util.Arrays;\r
-import java.util.List;\r
-\r
-import compbio.runner._SkeletalCommandBuilder;\r
-\r
-/**\r
- * TODO this needs fixing! Executable does not work\r
- * \r
- * @author pvtroshin\r
- * \r
- */\r
-public class OB extends _SkeletalCommandBuilder {\r
-\r
- // $obdir/OB.pl -i $fa -p $obdir/databases/GES_hydrophobicity.dat -m\r
- // $obdir/databases/GES_zmat2.dat -n -o $outdir/OB.dat"\r
- // where $obdir= /homes/www-refine/SSPF_TO1/TarO_newclus/\r
- private static final String commandName = "OB";\r
- private static final String command = "/homes/www-refine/SSPF_TO1/TarO_newclus/OB_runner.sh";\r
-\r
- String workDirectory;\r
-\r
- public OB() {\r
- // TODO Auto-generated constructor stub\r
- }\r
-\r
- public OB(String workDirectory) {\r
- this.workDirectory = workDirectory;\r
- }\r
-\r
- public static String getTestCommand() {\r
- return command;\r
- }\r
-\r
- // input -i $fa\r
- // output -o\r
- public List<String> getTestArgs() {\r
- return Arrays.asList(new String[] { "" });\r
- }\r
-\r
- public static void main(String[] args) {\r
- new OB();\r
- }\r
-\r
- @Override\r
- public List<String> getCreatedFiles() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getInput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import static compbio.runner._impl.BlastParameters.parAlView;\r
-import static compbio.runner._impl.BlastParameters.parDatabase;\r
-import static compbio.runner._impl.BlastParameters.parDel;\r
-import static compbio.runner._impl.BlastParameters.parEvalue;\r
-import static compbio.runner._impl.BlastParameters.parInput;\r
-import static compbio.runner._impl.BlastParameters.parOutput;\r
-\r
-import java.io.File;\r
-import java.util.Arrays;\r
-import java.util.List;\r
-\r
-import compbio.runner._SkeletalCommandBuilder;\r
-\r
-/*\r
- * TODO look at how a command can be build with an argument list\r
- */\r
-public class PSIBlast extends _SkeletalCommandBuilder {\r
-\r
- private static final String command = "blastpgp";\r
-\r
- enum blastType {\r
- blastp, tbastn, blastn\r
- }\r
-\r
- enum dataBase {\r
- pdb\r
- }\r
-\r
- static double default_evalue = 0.001d;\r
- static final String parBlastType = "-p";\r
-\r
- private final String workDirectory;\r
-\r
- public PSIBlast(String workDirectory) {\r
- this.workDirectory = workDirectory;\r
- }\r
-\r
- // Resulting command:\r
- // TODO lease note that the location seem to be different for 64 bit nodes\r
- // fc_gpfs/gjb_lab/www-refine/bin/blast_32bit/blast-2.2.17/bin/blastpgp -i\r
- // $input -d $dbnam -o $output_dir/$outfile.psiblastout.$clus -j $iterations\r
- // -Q $output_dir/$outfile.PSImatrix.$clus -m $mo\r
-\r
- // BlastAll\r
- // //fc_gpfs/gjb_lab/www-refine/bin/blast_32bit/blast-2.2.17/bin/blastall -p\r
- // blastp -i $input -d $dbnam -e $evalue -m 9 -o $outfile\r
-\r
- String getCommand(blastType btype, dataBase database, String input,\r
- String output) {\r
- return Environment.getBlastBinDir() + command + parDel + parBlastType\r
- + blastType.blastp + parDel + parInput + input + parDel\r
- + parDatabase + Environment.getBlastDatabasesDir() + database\r
- + parDel + parEvalue + default_evalue + parAlView + parOutput\r
- + output;\r
- }\r
-\r
- String getFullTestCommand(String test_input, String test_outfile) {\r
- return Environment.getBlastBinDir() + command + parDel + parBlastType\r
- + blastType.blastp + parDel + parInput + test_input + parDel\r
- + parDatabase + Environment.getBlastDatabasesDir()\r
- + dataBase.pdb + parDel + parEvalue + default_evalue\r
- + parAlView + parOutput + test_outfile;\r
- }\r
-\r
- static String getTestCommand() {\r
- return Environment.getBlastBinDir() + command;\r
- }\r
-\r
- static List<String> getTestArgs() {\r
- return Arrays\r
- .asList(new String[] {\r
- parBlastType + blastType.blastp,\r
- parDatabase + Environment.getBlastDatabasesDir()\r
- + dataBase.pdb, parEvalue + default_evalue,\r
- parAlView });\r
- }\r
-\r
- public boolean removeOutput(String outfile) {\r
- File out = new File(outfile);\r
- if (out.exists()) {\r
- if (out.canWrite()) {\r
- return out.delete();\r
- }\r
- }\r
- return false;\r
- }\r
-\r
- public String getCommand(ExecProvider provider) {\r
- return Environment.getBlastBinDir() + command;\r
- }\r
-\r
- public String getCommandName() {\r
- return command;\r
- }\r
-\r
- @Override\r
- public List<String> getCreatedFiles() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getInput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import static compbio.runner._impl.BlastParameters.parAlView;\r
-import static compbio.runner._impl.BlastParameters.parDatabase;\r
-\r
-import java.util.Arrays;\r
-import java.util.List;\r
-\r
-import compbio.runner._SkeletalCommandBuilder;\r
-\r
-public class RPSBlast extends _SkeletalCommandBuilder {\r
-\r
- enum DB {\r
- Pfam, Cdd, Cog, Smart, Kog, Tirg\r
- }\r
-\r
- private static final String command = Environment.getBlastBinDir()\r
- + getCommandName();\r
-\r
- private final String workDirectory;\r
-\r
- public RPSBlast(String workDirectory) {\r
- this.workDirectory = workDirectory;\r
- }\r
-\r
- // my $blast =\r
- // "$blast_dir/rpsblast -i $input -d $dblocat/$dbnam -m 9 -a 1 -o $output_dir/$outfile.rpsblastout";\r
- // Could be static, but interface declaration requires to be overriden\r
- public String getCommand(ExecProvider provider) {\r
- return command;\r
- }\r
-\r
- public static String getTestCommand() {\r
- return command;\r
- }\r
-\r
- public static String getCommandName() {\r
- return "rpsblast";\r
- }\r
-\r
- static List<String> getTestArgs() {\r
- return Arrays.asList(new String[] {\r
- parDatabase + Environment.getRPSBlastDatabasesDir() + DB.Smart,\r
- parAlView });\r
- }\r
-\r
- String getDefaultEvalue() {\r
- return "1e-6";\r
- }\r
-\r
- @Override\r
- public List<String> getCreatedFiles() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getInput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import java.util.List;\r
-\r
-import compbio.runner._SkeletalCommandBuilder;\r
-\r
-/*\r
- @see \r
- RONN does not accept stdin the file name must be defined as parameter\r
- It accepts only clear sequence, no FASTA header! \r
- It can only analyse ONE sequence per run! (or may be not, but the results gets overriden!)\r
-\r
- */\r
-public class Ronn extends _SkeletalCommandBuilder {\r
-\r
- private static final String command = "/homes/pvtroshin/soft/RONNv3_fasta/Ronn_runner.sh";\r
-\r
- public String getCommand(ExecProvider provider) {\r
- return command;\r
- }\r
-\r
- public static String getTestCommand() {\r
- return command;\r
- }\r
-\r
- public String getCommandName() {\r
- return "Ronn";\r
- }\r
-\r
- private final String workDirectory;\r
-\r
- public Ronn(String workDirectory) {\r
- this.workDirectory = workDirectory;\r
- }\r
-\r
- @Override\r
- public List<String> getCreatedFiles() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getInput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-public final class Runners {\r
-\r
- private Runners() {\r
- }\r
-\r
- public static Mcl getMclRunnable(String workDirectory) {\r
- return new Mcl(workDirectory);\r
- }\r
-\r
- public static OB getOBRunnable(String workDirectory) {\r
- return new OB(workDirectory);\r
- }\r
-\r
- public static NetNglyc getNetNglycRunnable(String workDirectory) {\r
- return new NetNglyc();\r
- }\r
-\r
- public static Ronn getRonnRunnable(String workDirectory) {\r
- return new Ronn(workDirectory);\r
- }\r
-\r
- public static Tmhmm2 getTmhmm2Runnable(String workDirectory) {\r
- return new Tmhmm2(workDirectory);\r
- }\r
-\r
- public static RPSBlast getRPSBlastRunnable(String workDirectory) {\r
- return new RPSBlast(workDirectory);\r
- }\r
-\r
- public static BlastAll getBlastAllRunnable(String workDirectory) {\r
- return new BlastAll(workDirectory);\r
- }\r
-\r
- public static PSIBlast getPSIBlastRunnable(String workDirectory) {\r
- return new PSIBlast(workDirectory);\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import java.util.List;\r
-\r
-import compbio.runner._SkeletalCommandBuilder;\r
-\r
-/*\r
- @see file:///(/homes/www-refine/SSPF_01/) Z:/bin/Brunak/TMHMM2/TMHMM2.0c/TMHMM2.0.html\r
- could have used decodeanhmm directly \r
- for more options @see ./decodeanhmm -h\r
- e.g. decodeanhmm -f <path>/TMHMM2.0.options -modelfile <path>/TMHMM2.0.model\r
- */\r
-class Tmhmm2 extends _SkeletalCommandBuilder {\r
-\r
- /*\r
- * This is a standard tmhmm binary, but slightly modified the only\r
- * difference is that it will always write results in $workDirectory/TMHMM\r
- */\r
- private static final String command = "/homes/www-refine/bin/Brunak/TMHMM2/TMHMM2.0c/bin/tmhmm_samedir";\r
- String input;\r
- String output;\r
- List<String> params;\r
-\r
- private final String workDirectory;\r
-\r
- public Tmhmm2(String workDirectory) {\r
- this.workDirectory = workDirectory;\r
- }\r
-\r
- public static String getTestCommand() {\r
- return command;\r
- }\r
-\r
- public String getCommandName() {\r
- return "tmhmm";\r
- }\r
-\r
- @Override\r
- public List<String> getCreatedFiles() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- @Override\r
- public String getInput() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
-}\r
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r
-<runnerParameters>\r
- <runnerClassName>compbio.runner.tcoffee.Tcoffee</runnerClassName>\r
- <parameters>\r
- <description>Group sequences by similarity (this is the default)</description>\r
- <furtherDetails>http://www.compbio.dundee.ac.uk/users/pvtroshin/ws/Index.html</furtherDetails>\r
- <name>Group</name>\r
- <optionName>-group</optionName>\r
- <isRequired>OPTIONAL</isRequired>\r
- <possibleValues>auto</possibleValues>\r
- <possibleValues>protein</possibleValues>\r
- <possibleValues>nucleo</possibleValues>\r
- </parameters>\r
-</runnerParameters>\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._jpred;\r
-\r
-public class _Jpred {\r
-\r
- /**\r
- * Limitation for jpred processing - AA sequence only, less than 500 AA \r
- */\r
- \r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.engine.cluster.dundee;\r
-\r
-import static org.testng.AssertJUnit.assertEquals;\r
-import static org.testng.AssertJUnit.assertNotSame;\r
-import static org.testng.AssertJUnit.assertTrue;\r
-\r
-import java.net.UnknownServiceException;\r
-\r
-import org.testng.annotations.Test;\r
-\r
-import compbio.runner._NativeSpecHelper;\r
-\r
-public class _QueueTester {\r
- @Test\r
- public void testQueue() {\r
- _NativeSpecHelper queueHelper = new _NativeSpecHelper(2000, 9);\r
-\r
- assertEquals(_Queue.PRIBIT64, queueHelper.getApproprieteQueue());\r
- queueHelper.setQueue("bigmem.q");\r
- assertEquals(_Queue.BIGMEM.toString(), queueHelper.getQueue());\r
- queueHelper.setQueue("devel.q");\r
- assertNotSame(_Queue.DEVEL, queueHelper.getApproprieteQueue());\r
- boolean hasfailed = false;\r
- try {\r
- queueHelper.getNativeSpec();\r
- } catch (UnknownServiceException e) {\r
- hasfailed = true;\r
- }\r
- assertTrue(hasfailed);\r
-\r
- queueHelper = new _NativeSpecHelper(14000, 9);\r
- assertEquals(_Queue.PRIBIT64, queueHelper.getApproprieteQueue());\r
- queueHelper.setRequiredMemory(14001);\r
- assertEquals(_Queue.BIGMEM, queueHelper.getApproprieteQueue());\r
- queueHelper.setRequiredMemory(32000);\r
- hasfailed = false;\r
- try {\r
- assertEquals(_Queue.BIGMEM, queueHelper.getApproprieteQueue());\r
- } catch (UnsupportedOperationException e) {\r
- hasfailed = true;\r
- }\r
- assertTrue(hasfailed);\r
- queueHelper = new _NativeSpecHelper(8000);\r
- assertEquals(_Queue.BIT64, queueHelper.getApproprieteQueue());\r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import static org.testng.AssertJUnit.assertEquals;\r
-import static org.testng.AssertJUnit.assertFalse;\r
-import static org.testng.AssertJUnit.assertNotNull;\r
-import static org.testng.AssertJUnit.assertTrue;\r
-import static org.testng.AssertJUnit.fail;\r
-\r
-import java.text.ParseException;\r
-\r
-import org.ggf.drmaa.DrmaaException;\r
-import org.ggf.drmaa.JobInfo;\r
-import org.testng.annotations.Test;\r
-\r
-import compbio.engine.cluster.drmaa.ClusterUtil;\r
-import compbio.engine.cluster.drmaa.JobRunner;\r
-import compbio.engine.cluster.drmaa.StatisticManager;\r
-import compbio.metadata.AllTestSuit;\r
-import compbio.metadata.JobExecutionException;\r
-import compbio.metadata.JobStatus;\r
-import compbio.metadata.JobSubmissionException;\r
-\r
-public class MclTester {\r
-\r
- public static String test_input = "/homes/pvtroshin/mclReady_E-TABM-145_CorDesc-10_Spearman.txt";\r
- public static String test_outfile = "/homes/pvtroshin/MCL-E-TABM-145_25-06-2009.txt";\r
-\r
- @Test()\r
- public void testGetTestCommand() {\r
- System.out.println(Mcl.getTestCommand());\r
- }\r
-\r
- @Test(enabled = false, groups = { AllTestSuit.test_group_cluster,\r
- AllTestSuit.test_group_runner })\r
- public void testBuildCommand() {\r
- Mcl mcl = new Mcl(AllTestSuit.OUTPUT_DIR_ABSOLUTE);\r
- // TODO mcl.setInput(test_input).setOutput(test_outfile);\r
- // mcl.setParameters(Mcl.getTestParams());\r
-\r
- try {\r
- JobRunner runner = JobRunner.getInstance(null);\r
- assertNotNull("Runner is NULL", runner);\r
- runner.executeJob();\r
- // assertNotNull("JobId is NULL", jobId1);\r
- JobStatus status = runner.getJobStatus();\r
- assertTrue("Session state is wrong", status == JobStatus.PENDING\r
- || status == JobStatus.RUNNING);\r
- JobInfo info = runner.getJobInfo();\r
- assertNotNull("JobInfo is null", info);\r
- StatisticManager sm = new StatisticManager(info);\r
- assertNotNull("StatisticManager is null", sm);\r
- try {\r
- String time_s = sm.getCalculationTime();\r
- assertNotNull("Calculation time is null", time_s);\r
- String exits = sm.getExitStatus();\r
- assertNotNull("Exit status is null", exits);\r
- int exitsInt = ClusterUtil.CLUSTER_STAT_IN_SEC.parse(exits)\r
- .intValue();\r
- assertEquals("Exist status is not 0", 0, exitsInt);\r
- System.out.println(sm.getAllStats());\r
-\r
- } catch (ParseException e) {\r
- e.printStackTrace();\r
- fail("Parse Exception: " + e.getLocalizedMessage());\r
- }\r
-\r
- assertTrue("Process exited:", sm.hasExited());\r
- assertFalse("Process aborted:", sm.wasAborted());\r
- assertFalse("Process hasdump:", sm.hasDump());\r
- assertFalse("Process signaled:", sm.hasSignaled());\r
-\r
- } catch (DrmaaException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- } catch (JobSubmissionException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- } catch (JobExecutionException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- }\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import static org.testng.AssertJUnit.assertFalse;\r
-import static org.testng.AssertJUnit.assertNotNull;\r
-import static org.testng.AssertJUnit.assertTrue;\r
-import static org.testng.AssertJUnit.fail;\r
-\r
-import java.text.ParseException;\r
-\r
-import org.ggf.drmaa.DrmaaException;\r
-import org.ggf.drmaa.JobInfo;\r
-import org.testng.annotations.Test;\r
-\r
-import compbio.engine.cluster.drmaa.ClusterUtil;\r
-import compbio.engine.cluster.drmaa.JobRunner;\r
-import compbio.engine.cluster.drmaa.StatisticManager;\r
-import compbio.metadata.AllTestSuit;\r
-import compbio.metadata.JobExecutionException;\r
-import compbio.metadata.JobStatus;\r
-import compbio.metadata.JobSubmissionException;\r
-\r
-public class NetNglycTester {\r
-\r
- public static String test_input = "/homes/pvtroshin/TO1381.fasta";\r
- public static String test_outfile = "/homes/pvtroshin/TO1381.netNGlycout";\r
-\r
- @Test()\r
- public void testGetTestCommand() {\r
- assertNotNull(Tmhmm2.getTestCommand());\r
- }\r
-\r
- @Test(enabled = false, groups = { AllTestSuit.test_group_cluster,\r
- AllTestSuit.test_group_runner })\r
- public void testBuildCommand() {\r
- NetNglyc netnGlyc = new NetNglyc();\r
- // TODO netnGlyc.setInput(test_input).setOutput(test_outfile);\r
-\r
- try {\r
- JobRunner runner = JobRunner.getInstance(null);\r
- assertNotNull("Runner is NULL", runner);\r
- runner.executeJob();\r
- assertNotNull("JobId is NULL");\r
- JobStatus status = runner.getJobStatus();\r
- assertTrue("Status of the job is wrong!",\r
- status == JobStatus.PENDING || status == JobStatus.RUNNING);\r
- JobInfo info = runner.getJobInfo();\r
- assertNotNull("Cannot Obtain Job Info", info);\r
- StatisticManager sm = new StatisticManager(info);\r
- assertNotNull("StatisticManager is NULL", sm);\r
-\r
- String exits = sm.getExitStatus();\r
- assertNotNull("Status is NULL", exits);\r
- int exitsInt = ClusterUtil.CLUSTER_STAT_IN_SEC.parse(exits)\r
- .intValue();\r
- assertTrue("Time elapsed is greater than 0", exitsInt >= 0);\r
- System.out.println(sm.getAllStats());\r
-\r
- assertTrue("Process exited:", sm.hasExited());\r
- assertFalse("Process aborted:", sm.wasAborted());\r
- assertFalse("Process hasdump:", sm.hasDump());\r
- assertFalse("Process signaled:", sm.hasSignaled());\r
-\r
- } catch (DrmaaException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- } catch (ParseException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- } catch (JobSubmissionException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- } catch (JobExecutionException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import static org.testng.AssertJUnit.assertEquals;\r
-import static org.testng.AssertJUnit.assertFalse;\r
-import static org.testng.AssertJUnit.assertNotNull;\r
-import static org.testng.AssertJUnit.assertTrue;\r
-import static org.testng.AssertJUnit.fail;\r
-\r
-import java.text.ParseException;\r
-\r
-import org.ggf.drmaa.DrmaaException;\r
-import org.ggf.drmaa.JobInfo;\r
-import org.testng.annotations.Test;\r
-\r
-import compbio.engine.cluster.drmaa.ClusterUtil;\r
-import compbio.engine.cluster.drmaa.JobRunner;\r
-import compbio.engine.cluster.drmaa.StatisticManager;\r
-import compbio.metadata.AllTestSuit;\r
-import compbio.metadata.JobExecutionException;\r
-import compbio.metadata.JobStatus;\r
-import compbio.metadata.JobSubmissionException;\r
-\r
-/**\r
- * TODO this needs fixing! Executable does not work\r
- * \r
- * @author pvtroshin\r
- * \r
- */\r
-public class OBTester {\r
-\r
- public static String test_input = "/homes/pvtroshin/TO1381.fasta";\r
- public static String test_outfile = "/homes/pvtroshin/TO1381.OB.out";\r
-\r
- @Test\r
- public void testGetTestCommand() {\r
- System.out.println(OB.getTestCommand());\r
- }\r
-\r
- @Test\r
- public void testGetTestArgsCommand() {\r
- System.out.println(new OB().getTestArgs());\r
- }\r
-\r
- @Test(enabled = false, groups = { AllTestSuit.test_group_cluster,\r
- AllTestSuit.test_group_runner })\r
- public void testBuildCommand() {\r
- OB ob = new OB(AllTestSuit.OUTPUT_DIR_ABSOLUTE);\r
- // TODO ob.setInput(test_input).setOutput(test_outfile);\r
- // ob.setParameters(ob.getTestArgs());\r
-\r
- try {\r
- JobRunner runner = JobRunner.getInstance(null);\r
- assertNotNull("Runner is NULL", runner);\r
- runner.executeJob();\r
- // assertNotNull("Job id is null", jobId1);\r
- JobStatus status = runner.getJobStatus();\r
- assertTrue("Status is not queing but " + status,\r
- status == JobStatus.PENDING || status == JobStatus.RUNNING);\r
- JobInfo info = runner.getJobInfo();\r
- assertNotNull("JobInfo is null", info);\r
- StatisticManager sm = new StatisticManager(info);\r
- assertNotNull("Stat manager is null", sm);\r
- try {\r
- String time_s = sm.getCalculationTime();\r
- assertNotNull("Time is null", time_s);\r
- float time = ClusterUtil.CLUSTER_STAT_IN_SEC.parse(time_s)\r
- .floatValue();\r
- String exits = sm.getExitStatus();\r
- assertNotNull("Exit status is null", exits);\r
- int exitsInt = ClusterUtil.CLUSTER_STAT_IN_SEC.parse(exits)\r
- .intValue();\r
- assertEquals("Exit status is not 0", 0, exitsInt);\r
- System.out.println(sm.getAllStats());\r
-\r
- } catch (ParseException e) {\r
- e.printStackTrace();\r
- fail("Parse Exception: " + e.getLocalizedMessage());\r
- }\r
-\r
- assertTrue("Process exited:", sm.hasExited());\r
- assertFalse("Process aborted:", sm.wasAborted());\r
- assertFalse("Process hasdump:", sm.hasDump());\r
- assertFalse("Process signaled:", sm.hasSignaled());\r
-\r
- } catch (DrmaaException e) {\r
- e.printStackTrace();\r
- fail("Drmaa exception: " + e.getLocalizedMessage());\r
- } catch (JobSubmissionException e) {\r
- e.printStackTrace();\r
- fail("JobSubmission failure: " + e.getLocalizedMessage());\r
- } catch (JobExecutionException e) {\r
- e.printStackTrace();\r
- fail("JobSubmission failure: " + e.getLocalizedMessage());\r
- }\r
- }\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import static org.testng.AssertJUnit.assertFalse;\r
-import static org.testng.AssertJUnit.assertNotNull;\r
-import static org.testng.AssertJUnit.assertTrue;\r
-import static org.testng.AssertJUnit.fail;\r
-\r
-import java.text.ParseException;\r
-\r
-import org.ggf.drmaa.DrmaaException;\r
-import org.ggf.drmaa.JobInfo;\r
-import org.testng.annotations.Test;\r
-\r
-import compbio.engine.cluster.drmaa.ClusterUtil;\r
-import compbio.engine.cluster.drmaa.JobRunner;\r
-import compbio.engine.cluster.drmaa.StatisticManager;\r
-import compbio.metadata.AllTestSuit;\r
-import compbio.metadata.JobExecutionException;\r
-import compbio.metadata.JobStatus;\r
-import compbio.metadata.JobSubmissionException;\r
-\r
-public class RonnTester {\r
-\r
- public static String test_input = "/homes/pvtroshin/one_prot";\r
- public static String test_outfile = "/homes/pvtroshin/TO1381.ronn.out";\r
- public static String test_outDir = "/homes/pvtroshin/RONN";\r
-\r
- @Test()\r
- public void testGetTestCommand() {\r
- System.out.println(Ronn.getTestCommand());\r
- }\r
-\r
- @Test(enabled = false, groups = { AllTestSuit.test_group_cluster,\r
- AllTestSuit.test_group_runner })\r
- public void testBuildCommand() {\r
- Ronn ronn = new Ronn(AllTestSuit.OUTPUT_DIR_ABSOLUTE);\r
- // TODO ronn.setInput(test_input).setOutput(test_outfile);\r
- // ronn.setParameters(new ArrayList<String>());\r
-\r
- try {\r
- JobRunner runner = JobRunner.getInstance(null);\r
- assertNotNull("Runner is NULL", runner);\r
- // runner.setWorkDirectory(test_outDir);\r
- runner.executeJob();\r
- // assertNotNull(jobId1);\r
- JobStatus status = runner.getJobStatus();\r
- assertTrue(status == JobStatus.PENDING\r
- || status == JobStatus.RUNNING);\r
- JobInfo info = runner.getJobInfo();\r
- assertNotNull(info);\r
- StatisticManager sm = new StatisticManager(info);\r
- assertNotNull(sm);\r
- try {\r
- String time_s = sm.getCalculationTime();\r
- assertNotNull(time_s);\r
- float time = ClusterUtil.CLUSTER_STAT_IN_SEC.parse(time_s)\r
- .floatValue();\r
- assertTrue(time > 0);\r
- String exits = sm.getExitStatus();\r
- assertNotNull(exits);\r
- int exitsInt = ClusterUtil.CLUSTER_STAT_IN_SEC.parse(exits)\r
- .intValue();\r
- // assertEquals(0, exitsInt);\r
- System.out.println(sm.getAllStats());\r
-\r
- } catch (ParseException e) {\r
- e.printStackTrace();\r
- fail("Parse Exception: " + e.getLocalizedMessage());\r
- }\r
-\r
- assertTrue(sm.hasExited());\r
- assertFalse(sm.wasAborted());\r
- assertFalse(sm.hasDump());\r
- assertFalse(sm.hasSignaled());\r
-\r
- } catch (DrmaaException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- } catch (JobSubmissionException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- } catch (JobExecutionException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- }\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2009 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 1.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.runner._impl;\r
-\r
-import static org.testng.AssertJUnit.assertFalse;\r
-import static org.testng.AssertJUnit.assertNotNull;\r
-import static org.testng.AssertJUnit.assertTrue;\r
-import static org.testng.AssertJUnit.fail;\r
-\r
-import java.text.ParseException;\r
-\r
-import org.ggf.drmaa.DrmaaException;\r
-import org.ggf.drmaa.JobInfo;\r
-import org.testng.annotations.Test;\r
-\r
-import compbio.engine.cluster.drmaa.ClusterUtil;\r
-import compbio.engine.cluster.drmaa.JobRunner;\r
-import compbio.engine.cluster.drmaa.StatisticManager;\r
-import compbio.metadata.AllTestSuit;\r
-import compbio.metadata.JobExecutionException;\r
-import compbio.metadata.JobStatus;\r
-import compbio.metadata.JobSubmissionException;\r
-\r
-public class Tmhmm2Tester {\r
-\r
- public static String test_input = "/homes/pvtroshin/TO1381.fasta";\r
- public static String test_outfile = "/homes/pvtroshin/TO1381.tmhmm2.out";\r
- public static String test_outDir = "/homes/pvtroshin/HMM2";\r
-\r
- @Test\r
- public void testGetTestCommand() {\r
- System.out.println(Tmhmm2.getTestCommand());\r
- }\r
-\r
- @Test(enabled = false, groups = { AllTestSuit.test_group_cluster,\r
- AllTestSuit.test_group_runner })\r
- public void testBuildCommand() {\r
- Tmhmm2 hmm = new Tmhmm2(AllTestSuit.OUTPUT_DIR_ABSOLUTE);\r
- // TODO hmm.setInput(test_input).setOutput(test_outfile);\r
- // hmm.setParameters(new Tmhmm2().getParameters());\r
-\r
- try {\r
- JobRunner runner = JobRunner.getInstance(null);\r
- assertNotNull("Runner is NULL", runner);\r
- // runner.setWorkDirectory(test_outDir);\r
- runner.executeJob();\r
- // assertNotNull(jobId1);\r
- JobStatus status = runner.getJobStatus();\r
- assertTrue(status == JobStatus.PENDING\r
- || status == JobStatus.RUNNING);\r
- JobInfo info = runner.getJobInfo();\r
- assertNotNull(info);\r
- StatisticManager sm = new StatisticManager(info);\r
- assertNotNull(sm);\r
- try {\r
- String exits = sm.getExitStatus();\r
- assertNotNull(exits);\r
- int exitsInt = ClusterUtil.CLUSTER_STAT_IN_SEC.parse(exits)\r
- .intValue();\r
- // assertEquals(0, exitsInt);\r
- System.out.println(sm.getAllStats());\r
-\r
- } catch (ParseException e) {\r
- e.printStackTrace();\r
- fail("Parse Exception: " + e.getLocalizedMessage());\r
- }\r
-\r
- assertTrue(sm.hasExited());\r
- assertFalse(sm.wasAborted());\r
- assertFalse(sm.hasDump());\r
- assertFalse(sm.hasSignaled());\r
-\r
- } catch (DrmaaException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- } catch (JobSubmissionException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- } catch (JobExecutionException e) {\r
- e.printStackTrace();\r
- fail(e.getLocalizedMessage());\r
- }\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.ws.server;\r
-\r
-import java.io.File;\r
-import java.util.List;\r
-\r
-import org.apache.log4j.Logger;\r
-\r
-import compbio.data.sequence.Alignment;\r
-import compbio.data.sequence.FastaSequence;\r
-import compbio.engine.AsyncExecutor;\r
-import compbio.engine.Configurator;\r
-import compbio.engine.client.ConfiguredExecutable;\r
-import compbio.engine.client.SkeletalExecutable;\r
-import compbio.metadata.ChunkHolder;\r
-import compbio.metadata.JobSubmissionException;\r
-import compbio.metadata.Limit;\r
-import compbio.metadata.Option;\r
-import compbio.metadata.Preset;\r
-import compbio.metadata.ResultNotAvailableException;\r
-import compbio.metadata.WrongParameterException;\r
-import compbio.runner.msa.ClustalW;\r
-\r
-/**\r
- * \r
- * TODO to complete after the approach is tested with SequenceAnnotation!\r
- * \r
- * Common methods for all SequenceAnnotation web services\r
- * \r
- * @author pvtroshin\r
- * \r
- * @param <T>\r
- * \r
- * @version 1.0 June 2011\r
- * @since 2.0\r
- */\r
-public abstract class _MsaService<T> extends GenericMetadataService {\r
-\r
- /*\r
- * FIXME - instances of the Runner (?) and their types should be defined in\r
- * Executable IF\r
- */\r
- _MsaService(SkeletalExecutable<T> exec, Logger log) {\r
- super(exec, log);\r
- }\r
-\r
- public String align(List<FastaSequence> sequences)\r
- throws JobSubmissionException {\r
-\r
- WSUtil.validateFastaInput(sequences);\r
- ConfiguredExecutable<T> confClust = init(sequences);\r
- return WSUtil.align(sequences, confClust, log, "align", getLimit(""));\r
- }\r
-\r
- public String presetAlign(List<FastaSequence> sequences, Preset<T> preset)\r
- throws JobSubmissionException, WrongParameterException {\r
- WSUtil.validateFastaInput(sequences);\r
- if (preset == null) {\r
- throw new WrongParameterException("Preset must be provided!");\r
- }\r
- Limit<T> limit = getLimit(preset.getName());\r
- ConfiguredExecutable<T> confClust = init(sequences);\r
- confClust.addParameters(preset.getOptions());\r
- return WSUtil.align(sequences, confClust, log, "presetAlign", limit);\r
- }\r
-\r
- public String customAlign(List<FastaSequence> sequences,\r
- List<Option<T>> options) throws JobSubmissionException,\r
- WrongParameterException {\r
- WSUtil.validateFastaInput(sequences);\r
- ConfiguredExecutable<T> confClust = init(sequences);\r
- List<String> params = WSUtil.getCommands(options,\r
- ClustalW.KEY_VALUE_SEPARATOR);\r
- confClust.addParameters(params);\r
- log.info("Setting parameters: " + params);\r
- return WSUtil.align(sequences, confClust, log, "customAlign",\r
- getLimit(""));\r
- }\r
-\r
- @SuppressWarnings("unchecked")\r
- public Alignment getResult(String jobId) throws ResultNotAvailableException {\r
-\r
- WSUtil.validateJobId(jobId);\r
- AsyncExecutor asyncEngine = Configurator.getAsyncEngine(jobId);\r
- ConfiguredExecutable<T> clustal = (ConfiguredExecutable<T>) asyncEngine\r
- .getResults(jobId);\r
- Alignment al = clustal.getResults();\r
- return al;\r
- }\r
-\r
- @Override\r
- public ChunkHolder pullExecStatistics(String jobId, long position) {\r
- WSUtil.validateJobId(jobId);\r
- String file = Configurator.getWorkDirectory(jobId) + File.separator\r
- + ClustalW.getStatFile();\r
- ChunkHolder cholder = WSUtil.pullFile(file, position);\r
- return cholder;\r
- }\r
-\r
-}\r
+++ /dev/null
-/* Copyright (c) 2011 Peter Troshin\r
- * \r
- * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
- * \r
- * This library is free software; you can redistribute it and/or modify it under the terms of the\r
- * Apache License version 2 as published by the Apache Software Foundation\r
- * \r
- * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
- * License for more details.\r
- * \r
- * A copy of the license is in apache_license.txt. It is also available here:\r
- * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
- * \r
- * Any republication or derived work distributed in source code form\r
- * must include this copyright and license notice.\r
- */\r
-package compbio.ws.server;\r
-\r
-import javax.servlet.http.HttpServletRequest;\r
-import javax.xml.ws.WebServiceContext;\r
-import javax.xml.ws.handler.MessageContext;\r
-\r
-import org.apache.log4j.Level;\r
-import org.apache.log4j.Logger;\r
-\r
-import compbio.util.Timer;\r
-import compbio.util.Util;\r
-import compbio.ws.client.Services;\r
-\r
-@Deprecated\r
-public class _WSLogger {\r
-\r
- private static final String SPACER = " ";\r
-\r
- private final String wsname;\r
- private final WebServiceContext wsContext;\r
- private final Logger wsAccessLog;\r
-\r
- private _WSLogger(Services wsname, WebServiceContext context) {\r
- this.wsname = wsname.toString();\r
- this.wsContext = context;\r
- this.wsAccessLog = Logger.getLogger(wsname.toString() + "-stats");\r
- assert context != null : "WSContext was not injected";\r
- assert wsAccessLog != null : "wsAccessLog is not obtained";\r
- }\r
-\r
- public static final _WSLogger getStatLogger(Services service,\r
- WebServiceContext wsContext) {\r
- assert service != null;\r
- return new _WSLogger(service, wsContext);\r
- }\r
-\r
- /**\r
- * [Request_thread timeofRequest] configured via log4j configuration\r
- * RequestSource web_service timeToProcessRequest methodname {taskid}\r
- * \r
- * @param statLog\r
- * @param wsContext\r
- * @param jobId\r
- * @param activity\r
- */\r
- private void log(Timer timer, String activity, Level level, String jobId) {\r
- assert !Util.isEmpty(jobId) || !Util.isEmpty(activity); // At least one\r
- // of the two must be defined\r
- if (Util.isEmpty(jobId)) {\r
- jobId = ""; // prevent is to be printed as null\r
- } else {\r
- assert !Util.isEmpty(activity) : "if jobId is defined, then activity must be defined too";\r
- }\r
-\r
- wsAccessLog.log(level, getRemoteAddress() + SPACER + wsname + SPACER\r
- + timer.getTotalTime() + SPACER + activity + SPACER + jobId);\r
- }\r
-\r
- public void logAll(Timer timer, String activity) {\r
- assert !Util.isEmpty(activity);\r
- log(timer, activity, Level.TRACE, "");\r
- }\r
-\r
- public void logFine(Timer timer, String activity) {\r
- assert !Util.isEmpty(activity);\r
- log(timer, activity, Level.DEBUG, "");\r
- }\r
-\r
- public void log(Timer timer, String activity) {\r
- assert !Util.isEmpty(activity);\r
- log(timer, activity, Level.INFO, "");\r
- }\r
-\r
- public void log(Timer timer, String activity, String jobId) {\r
- assert !Util.isEmpty(activity);\r
- log(timer, activity, Level.INFO, jobId);\r
- }\r
-\r
- /*\r
- * \r
- * private static String getDataTimeForLog() { return\r
- * DateFormat.getDateTimeInstance(DateFormat.MEDIUM,\r
- * DateFormat.SHORT).format(System.currentTimeMillis()); }\r
- * \r
- * \r
- * public static String getRemoteAddress(WebServiceContext wsContext) {\r
- * assert wsContext != null : "WS context injection failed!"; MessageContext\r
- * msContext = wsContext.getMessageContext(); HttpServletRequest request =\r
- * (HttpServletRequest) msContext .get(MessageContext.SERVLET_REQUEST);\r
- * return request == null ? "127.0.0.1" : request.getRemoteAddr(); }\r
- */\r
-\r
- public String getRemoteAddress() {\r
- assert wsContext != null : "WS context injection failed!";\r
- MessageContext msContext = wsContext.getMessageContext();\r
- HttpServletRequest request = (HttpServletRequest) msContext\r
- .get(MessageContext.SERVLET_REQUEST);\r
- return request == null ? "127.0.0.1" : request.getRemoteAddr();\r
- }\r
-\r
-}\r