sentinel-legacy issueshttps://git.lumc.nl/sasc/sentinel-legacy/-/issues2018-05-14T03:02:00+02:00https://git.lumc.nl/sasc/sentinel-legacy/-/issues/33Automatic end point definitions for easy access in SPIN2018-05-14T03:02:00+02:00Sander van der ZeeuwAutomatic end point definitions for easy access in SPINIt would be nice to have an endpoint which automatically updates the explanations of specific endpoint definitions. Preferably in markdown format for easy implementation in SPIN docs. (json is also fine but needs some extra manipulating ...It would be nice to have an endpoint which automatically updates the explanations of specific endpoint definitions. Preferably in markdown format for easy implementation in SPIN docs. (json is also fine but needs some extra manipulating for proper output in SPIN.bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/32Add URL parameter to specify maximum number returned items for stats endpoints2018-05-14T03:02:00+02:00bowAdd URL parameter to specify maximum number returned items for stats endpointsbowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/31medianvCvcoverage should be explained2018-05-14T03:02:00+02:00Sander van der ZeeuwmedianvCvcoverage should be explainedTo the list of explained fields i would like to have medianCvCoverage to be explained. To the list of explained fields i would like to have medianCvCoverage to be explained. https://git.lumc.nl/sasc/sentinel-legacy/-/issues/30Add read length statistics for Gentrap2018-05-14T03:02:00+02:00bowAdd read length statistics for Gentrapbowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/29Update to Scalatra 2.42018-05-14T03:02:00+02:00bowUpdate to Scalatra 2.4Scalatra has recently been updated to 2.4, which also updates some of our test dependencies. We should move from 2.3 to 2.4 as well soon.Scalatra has recently been updated to 2.4, which also updates some of our test dependencies. We should move from 2.3 to 2.4 as well soon.bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/28Use MongoDB aggregation framework for computing statistics2018-05-14T03:02:02+02:00bowUse MongoDB aggregation framework for computing statisticsSome of the statistics not computable by MongoDB 3.0's aggregation framework (e.g. standard deviation) can now be computed in MongoDB 3.2. We should look into how far it is possible to replace the current MapReduce approach with this ins...Some of the statistics not computable by MongoDB 3.0's aggregation framework (e.g. standard deviation) can now be computed in MongoDB 3.2. We should look into how far it is possible to replace the current MapReduce approach with this instead, as MapReduce tend to be quite slow.https://git.lumc.nl/sasc/sentinel-legacy/-/issues/27Gentrap alignment metrics model does not take into account non-FR pair orient...2018-05-14T03:02:00+02:00bowGentrap alignment metrics model does not take into account non-FR pair orientationThe current case class model for `GentrapAlignmentStats` assumes alignment files only have one type of orientation. This is false, since there are multiple possible orientations. Picard, for example, is aware of this (they denote `FR`, `...The current case class model for `GentrapAlignmentStats` assumes alignment files only have one type of orientation. This is false, since there are multiple possible orientations. Picard, for example, is aware of this (they denote `FR`, `RF`, and `TANDEM` orientations). Ideally, we also reflect this in our model.bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/26Expose server over HTTPS2018-05-14T03:02:02+02:00Wai Yi LeungExpose server over HTTPSThis will require to have a SSL certificate somewhere, in Nginx or in sentinel itself.
The use case is on webpages:
using sentinel.js via https://barmsijs... the browser will complain about mixed content (http+https). In order to q...This will require to have a SSL certificate somewhere, in Nginx or in sentinel itself.
The use case is on webpages:
using sentinel.js via https://barmsijs... the browser will complain about mixed content (http+https). In order to query via ajax, requesting source (https) should match the other page (http). In our case, both should be on the https.
Wai Yi LeungWai Yi Leunghttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/25Limit functionalities for API user when user is using a certain API2018-05-14T03:02:00+02:00Wai Yi LeungLimit functionalities for API user when user is using a certain APIf.e.g. the DELETE command.
Or send an e-mail to the data owner to confirm removal of a certain run.f.e.g. the DELETE command.
Or send an e-mail to the data owner to confirm removal of a certain run.https://git.lumc.nl/sasc/sentinel-legacy/-/issues/24Query for all runs from a certain user2018-05-14T03:02:00+02:00Wai Yi LeungQuery for all runs from a certain userIs it possible to query on a user(name) only and return the:
runId - pipeline - date
For this user(name)?Is it possible to query on a user(name) only and return the:
runId - pipeline - date
For this user(name)?https://git.lumc.nl/sasc/sentinel-legacy/-/issues/23Split core functionalities and LUMC-specific code into different packages2018-05-14T03:02:00+02:00bowSplit core functionalities and LUMC-specific code into different packagesTo make Sentinel more extensible, we should clearly separate the packages which are of general usage and packages specific to LUMC.
Something like this would be preferrable:
* Core
- Adapters
- Processors
- Internal data m...To make Sentinel more extensible, we should clearly separate the packages which are of general usage and packages specific to LUMC.
Something like this would be preferrable:
* Core
- Adapters
- Processors
- Internal data models
* LUMC
- All LUMC pipeline-related code
- Current HTTP endpointsbowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/22Fix lazy val serialization on case classes2018-05-14T03:02:00+02:00bowFix lazy val serialization on case classesApparently there is a bug in Json4s which prevents case classes from serializing their lazy vals into JSON (https://github.com/json4s/json4s/pull/215). This has been fixed in their 3.3 branch (we are on 3.2.11 at the time of this writing...Apparently there is a bug in Json4s which prevents case classes from serializing their lazy vals into JSON (https://github.com/json4s/json4s/pull/215). This has been fixed in their 3.3 branch (we are on 3.2.11 at the time of this writing) and also has been merged into Scalatra's 2.4.x branch. However, both packages have not been officially released yet and attempts to use the RC versions have not worked so far, mainly due to Scalatra's Swagger serialization module being incompatible with Json4s's.
The bug is not breaking, since all the lazy vals in our case classes can be computed from existing values. However, it would still be nicer if the client already gets this value precomputed.
So for now, we wait until we can upgrade to Scalatra 2.4 when it has been released and then later add tests to make sure the lazy vals are emitted in the JSON payloads.bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/21Implement user deletion in /users2018-05-14T03:02:02+02:00bowImplement user deletion in /usersAlso, this means deciding:
* what happens to the user's uploaded run summaries (should they be deleted as well? should they be hidden?)
* what happens to the user's user ID (can it be reused by someone else or not?)Also, this means deciding:
* what happens to the user's uploaded run summaries (should they be deleted as well? should they be hidden?)
* what happens to the user's user ID (can it be reused by someone else or not?)https://git.lumc.nl/sasc/sentinel-legacy/-/issues/20Implement aggregation for array items2018-05-14T03:02:00+02:00bowImplement aggregation for array itemsSomething for aggregating (for example) this:
```
num_by_quals: [235, 135, 1241, 51]`
```
into this:
```
num_by_quals: [
{count: ..., max: ..., min: ..., mean: ..., median: ..., stdev: ...},
{count: ..., max: ..., min: ...Something for aggregating (for example) this:
```
num_by_quals: [235, 135, 1241, 51]`
```
into this:
```
num_by_quals: [
{count: ..., max: ..., min: ..., mean: ..., median: ..., stdev: ...},
{count: ..., max: ..., min: ..., mean: ..., median: ..., stdev: ...},
{count: ..., max: ..., min: ..., mean: ..., median: ..., stdev: ...},
{count: ..., max: ..., min: ..., mean: ..., median: ..., stdev: ...},
]
```bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/19Implement tags for runs2018-05-14T03:02:00+02:00bowImplement tags for runsThe use case is to filter runs based on these tag values (and consequently for filtering the stats as well). This also means that a PATCH endpoint for /runs need to be created so the tags can be modified after a run is uploaded.The use case is to filter runs based on these tag values (and consequently for filtering the stats as well). This also means that a PATCH endpoint for /runs need to be created so the tags can be modified after a run is uploaded.bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/18Package the swagger-ui interface with Sentinel2018-05-14T03:02:00+02:00bowPackage the swagger-ui interface with SentinelSince the swagger-ui interface are all static files, they can be packaged together with sentinel and served at some default URL.Since the swagger-ui interface are all static files, they can be packaged together with sentinel and served at some default URL.Version 0.1.0bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/17Update Gentrap summary to be in-sync with upcoming Biopet release2018-05-14T03:02:00+02:00bowUpdate Gentrap summary to be in-sync with upcoming Biopet releaseTo change list:
- [ ] reference section
- [ ] sequencing statistics section
- [ ] pipeline name
- [ ] run name
- [ ] existing metrics from PicardTo change list:
- [ ] reference section
- [ ] sequencing statistics section
- [ ] pipeline name
- [ ] run name
- [ ] existing metrics from PicardVersion 0.1.0bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/16Better modularize pipeline support2018-11-23T02:30:30+01:00bowBetter modularize pipeline supportRight now, to extend sentinel with new pipeline, one has to fork the entire codebase and implement his/her own modifications. Ideally, there is a core package (which is always required for all installations) and additional packages defin...Right now, to extend sentinel with new pipeline, one has to fork the entire codebase and implement his/her own modifications. Ideally, there is a core package (which is always required for all installations) and additional packages defining only the pipeline support.https://git.lumc.nl/sasc/sentinel-legacy/-/issues/15Add support for the Shiva pipeline2018-11-23T02:30:30+01:00bowAdd support for the Shiva pipelinebowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/14Add integration tests2018-11-23T02:30:30+01:00bowAdd integration testsThis is to keep track of the current test additions. Before v0.1.0 release, we'd like to have the following tests first:
#### GET /stats/sequences/gentrap (for each gentrap summary examples)
- [x] default arguments
- [x] wrong lib...This is to keep track of the current test additions. Before v0.1.0 release, we'd like to have the following tests first:
#### GET /stats/sequences/gentrap (for each gentrap summary examples)
- [x] default arguments
- [x] wrong libtype
- [x] wrong seqqcphase
- [x] nondefault libtype
- [x] nondefault seqqcphase
- [x] custom runIds
- [x] custom refIds
- [x] custom annotIds
- [x] invalid runId
- [x] invalid refId
- [x] invalid annotIds
#### GET /stats/alignments/gentrap (for each gentrap summary examples)
- [x] default arguments
- [x] wrong libtype
- [x] wrong accumulation level
- [x] nondefault libtype
- [x] nondefault accumulation level
- [x] custom runIds
- [x] custom refIds
- [x] custom annotIds
- [x] invalid runId
- [x] invalid refId
- [x] invalid annotIds
#### GET /stats/runs
- [x] default arguments
#### GET /annotations
- [x] default arguments
#### GET /annotations/:annotId
- [x] default arguments
- [x] nonexistent ID
#### GET /references
- [x] default arguments
#### GET /references/:refId
- [x] default arguments
- [x] nonexistent ID
#### GET /users/:userId
- [x] default arguments
- [x] unauthenticated user
- [x] unverified user
- [x] unauthorized user
#### PATCH /users/:userId
- [ ] ~~changing user ID~~ not blocking for this release, so postponed indefinitely
- [ ] ~~changing user API key~~ not blocking for this release (also not the correct HTTP endpoint), postponed indefinitely
- [x] changing password
- [x] malformed patch
- [x] empty patch
- [x] unauthenticated user
- [x] unverified user
- [x] unauthorized user
Version 0.1.0bowbow