Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
vidjil
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1,711
Issues
1,711
List
Boards
Labels
Service Desk
Milestones
Merge Requests
86
Merge Requests
86
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vidjil
vidjil
Commits
0f6fc808
Commit
0f6fc808
authored
Jul 16, 2015
by
Mikaël Salson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dev.org: Some (sparse) developer documentation
parent
2c9bf5b8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
0 deletions
+47
-0
doc/dev.org
doc/dev.org
+47
-0
No files found.
doc/dev.org
0 → 100644
View file @
0f6fc808
* Algorithm
** Code organisation
The algorithm follows roughly those steps:
1. The germlines are read. germlines are in the fasta format and are read
by the Fasta class (=core/fasta.h=). Germlines are built using the
Germline (or MultiGermline) class (=core/germline.h=)
2. The input sequence file (.fasta, .fastq, .gz) is read by an OnlineFasta
(=core/fasta.h=). The difference with the Fasta class being that all the
data is not stored in memory but the file is read online, storing only
the current entry.
3. Windows must be extracted from the read, which is done by the
WindowExtractor class (=core/windowExtractor.h=). This class has an
=extract= method which returns a WindowsStorage object
(=core/windows.h=) in which windows are stored.
4. To save space consumption, all the reads linked to a given window are
not stored. Only the longer ones are kept. The BinReadStorage class is
used for that purpose (=core/read_storage.h=).
5. In the WindowStorage, we now have the information on the clusters and on
the abundance of each cluster. However we lack a sequence representative
of the cluster. For that purpose the class provides a
=getRepresentativeComputer= method that provides a
KmerRepresentativeComputer (=core/representative.h=). This class can
compute a representative sequence using the (long) reads that were
stored for a given window.
6. The representative can then be segmented to determine what V, D and J
genes are at play. This is done by the FineSegmenter (=core/segment.h=).
* Tests
** Browser
*** Functional
All the browser functional testing is done in the directory
=browser/tests=.
Several stuff must be installed to launch the functional browser
tests. Please see the doc in browser-tests.org.
The functional tests are built using two base files:
- vidjil_browser.rb :: abstracts the vidjil browser (avoid using IDs or
class names that could change in the test). The tests must rely as
much as possible on vidjil_browser. If access to some
data/input/menus are missing they must be addded there.
- browser_test.rb :: prepares the environment for the tests. Each test
file will extend this class (as can be seen in test_multilocus.rb)
The tests are in the files whose name matches the pattern =test*.rb=. The
tests are launched by the script in =launch_functional_tests= which launch
all the files matching the previous pattern. It also backs up the test
reports as =ci_reporter= removes them before each file is run.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment