RNA Context Optimization by Probability (RNA COP) 1.0
--------------------------------------------------------------------------------
RNAcop is a tool for optimizing lengths of flanking regions up- and downstream 
of a specified structure motif. The motif is defined by given constraints in  
form of a dot bracket string. Starting from the first constraint upstream and
the last constraint downstream, RNAcop calculates the sequence with the highest 
probability to observe the motif extended by flanking regions. Minimum and 
maximum lengths for each, the flanking region up- and donwstream, can be 
specified.
The probability for oberserving the structure motif is calculated by constrained
folding as already implemented in the ViennaRNA package. More precisely,
the partition function over all secondary structures satisfying the constraints
is compared to the partition function over all possible secondary structures 
without constraints. The optimal probability is obtained using dynamic 
programming, i.e. two function calls are evaluated, one for constrained folding 
and one for folding without constraints. RNAcop prints the structure and optimal
sequence, as well as the probability for the structure to be observed and 
the free energy difference ddG associated with both partition functions. The 
probability to observe a structure S given subsequence x is determined by:
    P(S|x) = exp( ddG / (R*T) )

* For installation instructions, see 'INSTALL'.

* For usage, have a look at the RNAcop man page after installation or type: 
   $ RNAcop --help
 
 RNAcop reads files in FASTA-like format that contain, for each entry, a tag 
 title tag, e.g. '>some_sequence' followed by a sequence and dot-bracket string 
 including contraints of following format:
    .     no constraint
    x     base is not allowed to pair
    |     base has to pair with any other base
    (     opens a base pair
    )     closes a base pair
    <     base has to pair with a base upstream
    >     base has to pair with a base downstream
 
 Files have to be redirected as STDIN to RNAcop and RNAcop will print the 
 output to STDOUT. For instance, if 'myStruct' is your input file, you
 want to write the output to 'myBestFlank' and require a minimum length of
 30 nucleotides upstream and 50 nucleotides downstream you would use following
 command:
 $ RNAcop --minleft 30 --minright 50 < myStruct > myBestFlank

* See 'AUTHORS' for the name of persons who have contributed to this project.

* If you want to know more about the ViennaRNA package have a look 
  'README_ViennaRNA' and 'AUTHORS_ViennaRNA'.
