# ------------------------------------------------------------------------------------
# configuration files for the program arka, 23 03 2001
# ------------------------------------------------------------------------------------
# FIRST PART: global configuration file

file_history_size=5
command_history_size=20

# ------------------------------------------------------------------------------------
# SECOND PART: global program descriptions
# This part contains descriptions of the command line utilities arka is supposed
# to run. You can create your own descriptions and either put them in this file,
# or in a file in your HOME directory -- $HOME/.arka/programs
# I guess the format is easy enough to figure out.

# rc program options file for create
# just a joke and example
# start(program)(gp_create)(create)(utilities/optional)(create a useful program written in C)
#	start(options)
#	(-a)()()(use pure ANSI C)
#	(-n)(int)(0)(maximal number of bugs. If 0, there is no limit)
#	(-h)()()(print a brief description of a program and exit)
#	(-b)(float)(1)(bugs / 100 lines of code)
#	(-t)()()(use telepathy to determine what program should be written)
#	()(hidden)(%input)(file with specification)(required)
#end(options)
#
#start(description)
#The "create" program takes as input a description of a program and creates
#a program written in C which does the specified task. If you have troubles
#writing a specification, you might want to use the -t option.
#
#Here is an example description:
#--example start here:
#Umm, I need, umm, a program for parsing rcfiles. You know what I mean.
#--end of the example input file
#end(description)
#
#end(program)

start(program)(gp_acc)(Auto-cross-corellation)(GP/DNA-RNA/statistics)(Encoding and autocrosscorelating sequences)
	start(options)
		(-e)()()(encode only, do not compute the ACC)
		(-l)(int)()(print a header with variable descriptions for sequence length equal to [value])
		(-p)(int)()(crossterm to position [value])
		(-q)()()(quiet, suppress error messages)
		()(invisible)(%input) 
	end(options)

	start(description)
		gp_acc turns the sequence into a multi-dimensional, numerical representation
		which can be used in further statistical analyses.
	end(description)
end(program)


start(program)(gp_dimer)(Dimer frequencies)(GP/DNA-RNA/statistics)(count frequencies of nucleotide pairs)
	start(options)
		(-l)(int)(0(distance between nucleotides)
		(-q)()()(quiet, suppress error messages)
		()(invisible)(%input) 
	end(options) 

	start(description)
		Calculate dimere /AA, AC, AG... TG, TT/ frequencies in a nucleotide
		sequence. If the first parameter /distance between nucleotides/ is greater
		then zero, it will calculate frequencies of patterns which have the form
		ANN..NNA, ANN..NNC, ANN..NNG, where NN..NN represents any nucleotide
		sequence of length determined by this parameter.
	end(description)
end(program)


start(program)(gp_pattern)(Pattern frequencies)(GP/DNA-RNA/statistics)(count frequencies of patterns in DNA/RNA sequences)
	start(options)
		(-l)(int)(3)(length of the pattern)
		(-q)()()(quiet, suppress error messages)
		()(invisible)(%input) 
	end(options)

	start(description)
		Calculate frequencies of nucleotide patterns. The only parameter sets the
		pattern length used.
	end(description)
end(program)


start(program)(gp_scan)(ACC scan)(GP/DNA-RNA/statistics)(Computate auto-cross-correlation profiles)
	start(options)
		(-l)(int)()(set lag to value)
		(-w)(int)()(set window width)
		(-s)()()(print also the sequence)
		(-p)()()(print also the lagged parameters)
		(-z)(int)()(value is the number of the first variable descriptor)
		(-Z)(int)()(value is the number of the second variable descriptor)
		()(invisible)(%input) 
	end(options)

	start(description)
		No description yet.
	end(description)
end(program)


start(program)(gp_tm)(Melting temperature)(GP/DNA-RNA/properties)(Determine the Tm of a sequence)
	start(options)
		(-t)()()(use the 4*GC+2*AT thumb rule)
		(-s)()()(use symmetry correction for self complementary molecules)
		(-M)(float)()(set nucleic acid concentration to [value] mM)
		(-c)(float)()(set salt concentration to [value] M)
		(-N)()()(show sequence names)
		()(invisible)(%input) 
	end(options)

	start(description)
		Calculates the melting temperature of a DNA sequence using the nearest neighbor
		method.
	end(description)
end(program)


start(program)(gp_cusage)(Codon usage)(GP/proteins)(Print out codon usage of sequence/s)
	start(options)
		(-c)(file)()(read the optional codon usage table)
		(-o)()()(print only the codon table)
		(-n)()()(output is a *N*icely formated codon table)
		(-u)()()(output is an *U*gly list of codons)
		()(invisible)(%input) 
	end(options)

	start(description)
		Print out codon usage of a DNA / RNA sequence encoding a protein.
	end(description)
end(program)


start(program)(gp_findorf)(Find ORFs)(GP/proteins)(Print ORFs found in a sequence)
	start(options)
		(-m)(int)(100)(set minimal ORF length to value)
		(-M)(int)()(set maximal ORF length to value [default - unlimited])
		(-o)(string)()(s: print the ORF protein sequences; n: show the ORF positions)
		(-c)(file)()(read the optional codon usage table)
#		(-p)(string)()(n: will print out a formated codon table & exit; u: will print out the codon table & exit)
		()(invisible)(%input) 
	end(options)

	start(description)
		Find ORFs in a DNA / RNA sequence
	end(description)
end(program)


start(program)(gp_matrix)(Promoter search)(GP/DNA-RNA)(Search for promoters using the Hertz matrix)
	start(options)
		(-M)()()(computate a new matrix)
		(-m)(file)()(take the matrix values from file m_file)
		(-G)(float)()(adjust matrix to GC contents of [value] %)
		(-g)()()(ignore gap penalties)
		(-t)()()(assume that the transcription start is experimentally defined)
		(-T)(float)()(set the treshold value (default -99))
		(-X)(string)()(limit=value. Set gap limits. 'limit' can be 'min1', 'max1', 'min10', 'max10'.)
		(-D)(file)()(read GC distribution from a file)
		(-N)()()(sequence names will be shown)
		(-S)()()(do not show the sequences)
		()(invisible)(%input) 
	end(options)

	start(description)
		Searches for promoters using a score matrix. For more details see Weiner et
		al., 2000, Nucleic Acids Res. 28:4488-4496
	end(description)
end(program)


start(program)(gp_primer)(Oligonucleotide properties)(GP/DNA-RNA/properties)(Calculate stem/loop and dimere structures of a primer)
	start(options)
		(-i)()()(print only the parameters for the single strongest structure)
		(-m)(int)()(set the maximal number of shown structures /0 for all/)
		()(invisible)(%input) 
	end(options)

	start(description)
		Calculates the stem and loop structures as well as possible dimeres for an
		oligonucleotide sequence in FASTA format. If the option -i is used, then for
		each sequence, you will get the kcal/mol for both the strongest dimere and
		the strongest stem & loop structure.

	end(description)
end(program)


start(program)(gp_seq2prot)(DNA to protein)(GP/DNA-RNA)(Convert DNA sequence to protein sequence)
	start(options)
		(-c)(file)()(read the optional codon usage table)
		(-l)()()(be liberal about stop / start codons)
		(-p)(string)()(n: will print out a nicely formated codon table & exit; u: will print out a simple codon table & exit)
		()(invisible)(%input) 
	end(options)

	start(description)
		Converts a DNA / RNA sequence into a protein sequence using the specified
		genetic code or standard if -c option is left empty.
	end(description)
end(program)


start(program)(gp_deform)(Deformability scan)(GP/DNA-RNA/properties)(deformability scan)
	start(options)

		(-w)(int)()(averaging window size)
		()(invisible)(%input) 
	end(options)

	start(description)
		Conveys a deformability scan of a DNA using a set of physical DNA
		parameters.
	end(description)
end(program)


start(program)(gp_gc)(GC contents)(GP/DNA-RNA/properties)(Determine the gc contents of sequence(s))
	start(options)
		(-t)()()(will calculate the total GC% of all read sequences)
		(-m)()()(will show only mean GC% of all read sequences)
		(-D)(int)()(for each sequence, a distribution of GC with window size equal to value is printed.)
		()(invisible)(%input) 
	end(options)

	start(description)
		Calculates the GC contents of DNA / RNA sequences.
	end(description)
end(program)


start(program)(gp_mkmtx)(Create a frequency matrix)(GP/DNA-RNA/statistics)(Computate a nucleotide frequency matrix)
	start(options)
		(-a)()()(Instead of frequencies, print just the numbers of occurences)
		(-g)(float)()(divide each frequency by the expected frequecy of the given nucleotide at the GC% [value])
		(-l)()()(do not apply a logarythmic scaling of the frequencies)
		()(invisible)(%input) 
	end(options)

	start(description)
		Create a frequency matrix of oligonucleotides at a given position in a set
		of sequences. Sequences are assumed to be co-aligned.
	end(description)
end(program)


start(program)(gp_qs)(Quick sequence search)(GP)(Look for a sequence in the input window)
	start(options)
		(-i)()()(query sequences are read from standard input)
		(-n)()()(allow not exact binding)
		()()()(sequence to search for; HUSAR wildcards /N,M,R etc./ are allowed)
		()(invisible)(%input) 
	end(options)

	start(description)
		Searches the input window for a specific sequence.
	end(description)
end(program)


start(program)(gp_shift)(Shift sequence positions)(GP/DNA-RNA)(Print shifted sequence positions)
	start(options)
		(-3)()()(shift relative to sequence 3' end)(required)
		()(invisible)(%input) 
	end(options)

	start(description)
	end(description)
end(program)


start(program)(gp_digest)(Restriction site analysis)(GP/DNA-RNA/properties)(Restriction site analysis)
	start(options)
		(-e)(file)()(use alternate enzyme file)
		(-o)(string)()(output type: a: ascii; p: position; s: sequences; f: fragments; l: lengths; n: number)
		()(string)()(enzyme name)(required)
		()(invisible)(%input) 
	end(options)

	start(description)
	end(description)
end(program)


start(program)(gp_getseq)(Cut out sequence fragments)(GP/DNA-RNA)(Get a sequence fragment)
	start(options)
#		(-r)()()(only reverse the sequence)
#		(-l)(file)()(take a list of sequences from file [name] (use '-' for standard input))
		(-n)(string)()(use alternate name for the sequence)
		()(int)()(from...)(required)
		()(int)()(...to)(required)
		()(invisible)(%input) 
	end(options)

	start(description)
		Given positions "start" and "end", for each sequence in the input window,
		this program will print out the sequence which lies between these two
		position. For example, if start is "10" and end is "20", the program will
		print out the nucleotides starting from the 10th nucleotide and ranging to
		the 20th nucleotide -- and this for each single sequence found in the input
		window.
	end(description)
end(program)


start(program)(gp_randseq)(Random sequences)(GP/DNA-RNA)(Generate random sequences)
	start(options)
		(-l)(int)()(random sequence length)
		(-n)(int)()(number of generated sequences)
		()(invisible)(%input) 
	end(options)

	start(description)
		Program for producing random sequences. From the sequence found in the input
		window, gp_randseq will cut out random sequence fragments of the specified
		length.
	end(description)
end(program)


start(program)(gp_slen)(Sequence length)(GP/DNA-RNA/statistics)(Print out sequence length/s)
	start(options)
		(-m)()()(print mean length and SE)
		(-v)()()(print version information & exit)
		()(invisible)(%input) 
	end(options)

	start(description)
		Print sequence length.
	end(description)
end(program)


# ---------------------------------------------------------------------------
# Some GNU utilities


start(program)(wc)(words count)(Unix utilities/text)(count words / lines / characters in a file)
	start(options)
		(-c)()()(count characters / bytes)
		(-l)()()(count lines)
		(-L)()()(count the length of the longest line)
		(-w)()()(count the number of words)
		()(invisible)(%input)(input)
	end(options)
	start(description)
	end(description)
end(program)


start(program)(paste)(paste)(Unix utilities/text)(merge lines of files)
	start(options)
		(--serial)()()(serial: paste one file at a time instead of in parallel)
		(-d)(string)()(select delimiters other then TABs)
		()(string)(%input)(file list; use %input for the input window)
	end(options)
	start(description)
Write lines consisting of the sequentially corresponding lines from each FILE,
separated by TABs, to standard  output. With no FILE, or when FILE is -, read
standard input.

	end(description)
end(program)


start(program)(fold)(Wrap lines)(Unix utilities/text)(wrap each input line to fit in specified width)
	start(options)
		(-b)()()(Count bytes rather then columns)
		(-s)()()(Break at spaces)
		(-w)(int)()(Use <width> rather then 80 columns)
		()(invisible)(%input)
	end(options)
	start(description)
	Wrap input lines in each FILE (standard input by default), 
	writing to standard output.
	end(description)
end(program)

start(program)(tsort)(Topological sort)(Unix utilities/text)(Perform topological sort)
	start(options)
		()(invisible)(%input)
	end(options)
	start(description)
       Write  totally  ordered  list  consistent with the partial
       ordering in FILE.  With no FILE, or when FILE is  -,  read
       standard input.
	end(description)
end(program)


start(program)(nl)(Number lines)(Unix utilities/text)(Number lines of files)
	start(options)
		(-b)(string)()(Body numbering is <style>)
		(-d)(string)()(Use <CC> to separate logical pages)
		(-f)(string)()(Footer numbering is <style>)
		(-h)(string)()(Header numbering is <style>)
		(-i)(int)()(Line number increment on each line)
		(-l)(int)()(Group of <number> empty lines counted as one)
		(-n)(string)()(Insert line numbers according to <format>)
		(-p)()()(Do not reset line numbering at logical pages)
		(-s)(string)()(Add <string> after /possible/ line number)
		(-v)(int)()(First line number on each logical page)
		(-w)(int)()(Use <number) columns for line numbers)
		()(invisible)(%input)
	end(options)
	start(description)
       By  default,  selects  -v1  -i1 -l1 -sTAB -w6 -nrn -hn -bt
       -fn.  CC are two delimiter characters for separating logi
       cal  pages,  a missing second character implies :.  Type \
       for .  STYLE is one of:

       a      number all lines

       t      number only nonempty lines

       n      number no lines

       pREGEXP
              number only lines that contain a match for REGEXP

       FORMAT is one of:

       ln     left justified, no leading zeros

       rn     right justified, no leading zeros

       rz     right justified, leading zeros

end(program)

start(program)(find)(Find files)(Unix utilities)(Find files and directories)
	start(options)
		(-maxdepth)(int)()(descend at most <value> levels)
		(-mindepth)(int)()(do not apply any tests or actions at levels below <value>)
		(-name)(string)()(Base of the file name matches the <pattern>)
		(-newer)(file)()(file was modified more recently then <file>)
		(-exec)(string)()(execute command /remember to add a semicolon -- ';' at the end!)
		(-print)(invisible)( )()
	end(options)
	start(description)
		A shorthand GUI for the GNU version of find program.
	end(description)
end(program)


start(program)(grep)(grep)(Unix utilities)(Print lines matching a pattern)
	start(options)
		(-A)(int)()(Print <num> lines of trailing context after matching lines)
		(-B)(int)()(Print <num> lines of leading context before matching lines)
		(-C)(int)()(Print <num> lines of output context)
		(-c)()()(Suppress normal output; instead print a count of matching lines)
		(-i)()()(Ignore case)
		(-v)()()(Invert the sense of matching to select non-matching lines) 
		(-w)()()(Select only those lines containing matches that form whole words)
		(-x)()()(Select only those matches that exactly match the whole line)
		(-e)(string)()(Pattern to search for)
		()(invisible)(%input)
	end(options)
	start(description)
		A basic GUI interface for the GNU grep program.
	end(description)
end(program)

#start(program)()()(Unix utilities/text)()
#	start(options)
#		()()()()
#	end(options)
#	start(description)
#	end(description)
#end(program)
#

