Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F87449745
SequenceModelExtenderApplication.hpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Oct 12, 18:22
Size
3 KB
Mime Type
text/x-c
Expires
Mon, Oct 14, 18:22 (2 d)
Engine
blob
Format
Raw Data
Handle
21600441
Attached To
R8820 scATAC-seq
SequenceModelExtenderApplication.hpp
View Options
#ifndef SEQUENCEMODELEXTENDERAPPLICATION_HPP
#define SEQUENCEMODELEXTENDERAPPLICATION_HPP
#include <ApplicationInterface.hpp>
#include <iostream>
#include <string>
#include <SequenceMatrixCreator.hpp>
/*!
* \brief The SequenceModelExtenderApplication class is a class implementing an
* application to extend a sequence model of length L' (L' = L - S + 1
* where L is the number of column of the sequence matrix and S the
* shifting freedom allowed during the classification) to a new model
* length L'' = L' + E (E is the number of columns to add to the
* model) given the data matrix and the results of the classification
* (posterior probability matrix).
* To do this, the sequence count matrix from which the original model
* was computed is extended (0.5*E columns on each side) and a model
* is computed using the new matrix and the given posterior probabities.
* The extended model is returned through the stdout.
*/
class
SequenceModelExtenderApplication
:
public
ApplicationInterface
{
public
:
SequenceModelExtenderApplication
()
=
delete
;
SequenceModelExtenderApplication
(
const
SequenceModelExtenderApplication
&
app
)
=
delete
;
/*!
* \brief Constructs an object from the command line
* options.
* \param argn the number of options passed to the
* main() function.
* \param argv the vector of options passed to the
* main() function.
*/
SequenceModelExtenderApplication
(
int
argn
,
char
**
argv
)
;
/*!
* \brief Destructor.
*/
virtual
~
SequenceModelExtenderApplication
()
override
;
/*!
* \brief Runs the application. The data new model
* is computed and displayed through the
* stdout.
* \return the exit code.
*/
virtual
int
run
()
override
;
private
:
/*!
* \brief Parses the program command line options and
* sets the object field accordingly.
* If the help option is detected, the "runnable"
* field is set to false and subsequent calls to
* run() will produce nothing.
* \param argn the number of options passed to the
* main() function.
* \param argv the vector of options passed to the
* main() function.
* \throw std::invalid_argument if an error is found
* in the program options.
*/
void
parseOptions
(
int
argn
,
char
**
argv
)
;
/*!
* \brief the path to the bed file.
*/
std
::
string
file_bed
;
/*!
* \brief the path to the fasta file
* containing the sequences.
*/
std
::
string
file_fasta
;
/*!
* \brief the path to the file containing the
* classification posterior probabilities.
*/
std
::
string
file_prob
;
/*!
* \brief a relative coordinate indicating the
* most downstream position to consider around
* each region in the bed file.
*/
int
from
;
/*!
* \brief a relative coordinate indicating the
* most upstream position to consider around
* each region in the bed file.
*/
int
to
;
/*!
* \brief the number of columns to add to the
* matrix (half of this value on each side).
*/
int
ext
;
/*!
* \brief the number of threads.
*/
size_t
n_threads
;
/*!
* \brief whether run() can be called.
*/
bool
runnable
;
}
;
#endif
// SEQUENCEMODELEXTENDERAPPLICATION_HPP
Event Timeline
Log In to Comment