oddcomp was written to answer the question 'which proteins contain at least n X and m Y in p residues'.
One could search for serine rich or polyglutamine rich, collagen helix, or similar proteins using this program.
oddcomp takes as input an amino acid composition data file in the same format as the output from compseq. It can tolerate any word length within reason for the memory capacity of the machine in question. Only the first two fields in the composition data file are used: the word and the number of occurrences. Any word not mentioned is initialised to a threshold of zero.
oddcomp measures the amino acid composition (this can be dimers etc as well as monomers) in a sliding window. If and when composition meets or exceeds all the specified thresholds, the sequence is reported and oddcomp moves to the next sequence. It does not report where in the sequence it found the matching region, merely the sequence ID.
oddcomp was originally written to identify SR/RS containing proteins. eg. specifying a window of forty amino acids containing at least 3 SR and 4 RS words.
To search for a specific set of words in a sequence, edit the input composition data file to delete any words from the input file in which you are not interested. The search is a boolean AND so there must be (from the short example above) at least 3 SR AND at least 4 RS for the sequence to be reported. If your total words specified exceeds window-wordlength+1 you will never get any hits.
Only one word size can be used and is specified at the top of the file in compseq-style output.
To search for entries in swissprot with at least 1 SR AND at least 2 RS:
% oddcomp Find protein sequence regions with a biased composition Input sequence(s): tsw:* Compseq output file to use for expected word frequencies: oddcomp.comp Window size to consider (e.g. 30 aa) : Output file [100k_rat.oddcomp]: out.odd
Go to the input files for this example
Go to the output files for this example
Standard (Mandatory) qualifiers: [-sequence] seqall Sequence database USA [-infile] infile This is a file in the format of the output produced by 'compseq' that is used to set the minimum frequencies of words in this analysis. [-window] integer This is the size of window in which to count. Thus if you want to count frequencies in a 40 aa stretch you should enter 40 here. [-outfile] outfile This is the results file. Additional (Optional) qualifiers: (none) Advanced (Unprompted) qualifiers: -[no]ignorebz boolean The amino acid code B represents Asparagine or Aspartic acid and the code Z represents Glutamine or Glutamic acid. These are not commonly used codes and you may wish not to count words containing them, just noting them in the count of 'Other' words. Associated qualifiers: "-sequence" associated qualifiers -sbegin1 integer Start of each sequence to be used -send1 integer End of each sequence to be used -sreverse1 boolean Reverse (if DNA) -sask1 boolean Ask for begin/end/reverse -snucleotide1 boolean Sequence is nucleotide -sprotein1 boolean Sequence is protein -slower1 boolean Make lower case -supper1 boolean Make upper case -sformat1 string Input sequence format -sdbname1 string Database name -sid1 string Entryname -ufo1 string UFO features -fformat1 string Features format -fopenfile1 string Features file name "-outfile" associated qualifiers -odirectory4 string Output directory General qualifiers: -auto boolean Turn off prompts -stdout boolean Write standard output -filter boolean Read standard input, write standard output -options boolean Prompt for standard and additional values -debug boolean Write debug output to program.dbg -verbose boolean Report some/full command line options -help boolean Report command line options. More information on associated and general qualifiers can be found with -help -verbose -warning boolean Report warnings -error boolean Report errors -fatal boolean Report fatal errors -die boolean Report deaths
|Standard (Mandatory) qualifiers||Allowed values||Default|
|Sequence database USA||Readable sequence(s)||Required|
|This is a file in the format of the output produced by 'compseq' that is used to set the minimum frequencies of words in this analysis.||Input file||Required|
|This is the size of window in which to count. Thus if you want to count frequencies in a 40 aa stretch you should enter 40 here.||Integer 10 or more||30|
|This is the results file.||Output file||<sequence>.oddcomp|
|Additional (Optional) qualifiers||Allowed values||Default|
|Advanced (Unprompted) qualifiers||Allowed values||Default|
|-[no]ignorebz||The amino acid code B represents Asparagine or Aspartic acid and the code Z represents Glutamine or Glutamic acid. These are not commonly used codes and you may wish not to count words containing them, just noting them in the count of 'Other' words.||Boolean value Yes/No||Yes|
# Example input file for oddcomp Word size 2 Total count 0 # # Word Obs Count Obs Frequency Exp Frequency Obs/Exp Frequency # RS 2 0 0 0 SR 1 0 0 0 Other 0 0 0 0
The columns "Obs Frequency", "Exp Frequency" and "Obs/Exp Frequency" are not required - they were simply included in this example to show the similarity between this input file format and the output of the program compseq. A compseq output file can be used as the input to oddcomp - the extra columns are ignored by oddcomp.
A minimal composition input data file would look like this:
Word size 2 Total count 0 RS 2 SR 1
Blank lines and lines starting with '#' are ignored.
The first non-comment line should start with 'Word size' and will specify the word size to use.
A line starting with the word 'Total' is required.
Anything after the line starting with the word 'Total' will be read as word count data.
Word count data consists of a word to search for and the count of that word to search for within the sliding window. The columns are separated by one or more spaces or TAB characters. Anything after these two columns will be ignored.
# # Output from 'oddcomp' # # The Expected frequencies are taken from the file: ../../data/oddcomp.comp # # Word size: 2 CB1B_FUGRU CO9_FUGRU FOS_FUGRU RS7_FUGRU # END #
|antigenic||Finds antigenic sites in proteins|
|digest||Protein proteolytic enzyme or reagent cleavage digest|
|epestfind||Finds PEST motifs as potential proteolytic cleavage sites|
|fuzzpro||Protein pattern search|
|fuzztran||Protein pattern search after translation|
|helixturnhelix||Report nucleic acid binding motifs|
|patmatdb||Search a protein sequence with a motif|
|patmatmotifs||Search a PROSITE motif database with a protein sequence|
|pepcoil||Predicts coiled coil regions|
|preg||Regular expression search of a protein sequence|
|pscan||Scans proteins using PRINTS|
|sigcleave||Reports protein signal cleavage sites|