Skip to content

TheCOBRALab/Spark

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# Spark

#### Description:
Software implementation of Spark.      
Spark is a time- and space-efficient sparsified minimum free energy folding of possibly-pseudoknotted RNAs

#### Supported OS: 
Linux, macOS


### Installation:  
Requirements: A compiler that supports C++11 standard (tested with g++ version 4.9.0 or higher), Pthreads, and CMake version 3.1 or greater.    

[CMake](https://cmake.org/install/) version 3.1 or greater must be installed in a way that HFold can find it.    
To test if your Mac or Linux system already has CMake, you can type into a terminal:      
```
cmake --version
```
If it does not print a cmake version greater than or equal to 3.1, you will have to install CMake depending on your operating system.

[Linux instructions source](https://geeksww.com/tutorials/operating_systems/linux/installation/downloading_compiling_and_installing_cmake_on_linux.php)

#### Steps for installation   
1. [Download the repository](https://github.com/mateog4712/SparseRNAFolD.git) and extract the files onto your system.
2. From a command line in the root directory (where this README.md is) run
```
cmake -H. -Bbuild
cmake --build build
```   
If you need to specify a specific compiler, such as g++, you can instead run something like   
```
cmake -H. -Bbuild -DCMAKE_CXX_COMPILER=g++
cmake --build build
```   
This can be useful if you are getting errors about your compiler not having C++17 features.

Help
========================================

```
Usage: Spark[options] [-r "input structure"] [input sequence]
```

Read input file from cmdline; predict minimum free energy and optimum structure using the time- and space-efficient MFE RNA folding algorithm.

```
  -h, --help             Print help and exit
  -V, --version          Print version and exit
  -v, --verbose          Turn on verbose output
  -m, --mark-candidates  Represent candidate base pairs by curly brackets
  -r, --input-structure  Give a restricted structure as an input structure (required for pseudoknots)
  -i, --input-file       Give a path to an input file containing the sequence (and input structure if known)
  -p, --pseudoknot-free  Turn off pseudoknot prediction
  -k, --pk-only          Only add base pairs which cross the constraint structure. The constraint structure is returned if there are no energetically favorable crossing base pairs
  -d, --dangles=INT      How to treat \"dangling end\" energies for bases adjacent to helices in free ends and multi-loops (default=`2')
  -P, --paramFile        Read energy parameters from paramfile, instead of using the default parameter set.
      --noGC             Turn off garbage collection and related overhead
      --noGU             Turn off Wobble base pairing
      --noConv           Do not convert DNA into RNA. This will use the Matthews 2004 parameters for DNA
```

Remarks:
    The default parameter file is DP09. This can be changed via -P and specifying the parameter file you would like

#### Example:
    assume you are in the Spark directory
    ./build/src/Spark GGGGAAAACCCC
    ./build/src/Spark -d1 -r "((........))" GGGGAAAACCCC
    ./build/src/Spark -d1 -P "params/rna_Turner04.par" -r "((........))" GGGGAAAACCCC
    ./build/src/Spark -i input.txt

```
./build/Spark -m -v -r "...............(((((((...)))))))..................." UAACUUAGGGGUUAAAGUUGCAGAUUGUGGCUCUGAAAACACGGGUUCGAA

UAACUUAGGGGUUAAAGUUGCAGAUUGUGGCUCUGAAAACACGGGUUCGAA
{{{({....})}}}.((((((([[[)))))))............]]].... (-7.95)

TA cnt: 63
TA max: 63
TA av:  61
TA rm:  3

Can num:        47
Can cap:        52
TAs num:        63
TAs cap:        64

Psuedoknotted

TAs num:        1
TAs cap:        1
TA av:  5
TA rm:  0

WMB Can num:    6
WMB Can cap:    7
VP Can num:     25
VP Can cap:     25
BE Can num:     7
BE Can cap:     7
```

## Results
Results can be found at https://github.com/mateog4712/Spark-RawData

## Questions
For questions, you can email mateo2@ualberta.ca

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 85.1%
  • C++ 14.8%
  • CMake 0.1%