sentinel-legacy issueshttps://git.lumc.nl/sasc/sentinel-legacy/-/issues2015-07-06T23:45:30+02:00https://git.lumc.nl/sasc/sentinel-legacy/-/issues/1Implement user authentication2015-07-06T23:45:30+02:00bowImplement user authenticationVersion 0.1.0bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/2Improve DB submission and case class extraction performance2018-01-08T14:21:59+01:00bowImprove DB submission and case class extraction performanceInitial benchmarks indicate this is the current bottleneck. Since we already have an actor system laying around, we should explore using it to improve performance.Initial benchmarks indicate this is the current bottleneck. Since we already have an actor system laying around, we should explore using it to improve performance.bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/3Emit CSVs from endpoints2017-11-15T13:48:15+01:00bowEmit CSVs from endpointsFor queries which result in many items, the JSON keys become redundant as they are repeated over and over again. There should be a way to easily build CSVs from the internal case classes.For queries which result in many items, the JSON keys become redundant as they are repeated over and over again. There should be a way to easily build CSVs from the internal case classes.bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/4Write bootstrapping script2015-07-06T23:45:30+02:00bowWrite bootstrapping scriptThis script would be run before Sentinel is run for the first time. It does:
- [x] The admin user creation
- [x] The indexing of database collections
It should also:
- [x] be able to handle setup when `mongo` is already run wit...This script would be run before Sentinel is run for the first time. It does:
- [x] The admin user creation
- [x] The indexing of database collections
It should also:
- [x] be able to handle setup when `mongo` is already run with `--auth`
Version 0.1.0bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/5Allow query results on collection endpoints to be randomized2015-06-05T11:38:32+02:00bowAllow query results on collection endpoints to be randomizedCurrently, queries on collection endpoints (such as `GET /runs` or `GET /stats/alignments/gentrap`) returns the last-inserted document first. This is by design from MongoDB, but we don't always want this since this means earlier runs wil...Currently, queries on collection endpoints (such as `GET /runs` or `GET /stats/alignments/gentrap`) returns the last-inserted document first. This is by design from MongoDB, but we don't always want this since this means earlier runs will essentially become unused. What we want is a way to sample deposited runs randomly.
Implementation is made difficult since Mongo does not support randomization of queries (there is a ticket open for it [here](https://jira.mongodb.org/browse/SERVER-533)). There are ways to get around this on the client side, though they have their own drawbacks.bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/6Implement rate-limitation2017-11-15T13:48:18+01:00bowImplement rate-limitationThis is to prevent Sentinel from being overloaded with HTTP requests. This is to prevent Sentinel from being overloaded with HTTP requests. bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/7Source code documentation with Scaladoc2015-07-06T23:45:30+02:00bowSource code documentation with ScaladocThe internal codebase is still quite volatile, but once things are more stable, they should be documented properly.The internal codebase is still quite volatile, but once things are more stable, they should be documented properly.Version 0.1.0bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/8Deployment and development documentation2015-07-06T23:45:30+02:00bowDeployment and development documentationVersion 0.1.0bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/9Implement write rollbacks for multi-collection functions2017-11-15T13:48:21+01:00bowImplement write rollbacks for multi-collection functionsThe current model is to write a `Run` document which links to several related documents (samples, annotations, references, and the raw file). The process of writing to all of them can fail midway and in such cases, it's desirable to have...The current model is to write a `Run` document which links to several related documents (samples, annotations, references, and the raw file). The process of writing to all of them can fail midway and in such cases, it's desirable to have the existing updates undone. Unfortunately Mongo does not support transactions, so this has to be implemented on the client side.bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/10Add the legal stuff2015-07-06T23:45:30+02:00bowAdd the legal stuffSource code headers, author info, license, etc.Source code headers, author info, license, etc.Version 0.1.0bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/11Implement proper logging server-side2018-11-23T02:30:30+01:00bowImplement proper logging server-sidebowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/12Implement aggregation operations2018-11-23T02:30:30+01:00bowImplement aggregation operationsIdeally, Sentinel should also be able to handle data aggregations (not only queries). Something like `GET /stats/alignments/gentrap/aggregates?op=max,mean,median` which would return the max, mean, and median of all gentrap alignment stat...Ideally, Sentinel should also be able to handle data aggregations (not only queries). Something like `GET /stats/alignments/gentrap/aggregates?op=max,mean,median` which would return the max, mean, and median of all gentrap alignment statistics.Version 0.1.0bowbowhttps://git.lumc.nl/sasc/sentinel-legacy/-/issues/13Make sample and library names visible to run owner2018-11-23T02:30:30+01:00bowMake sample and library names visible to run ownerFrom a discussion with @p.j.van_t_hof , to make it nicer to inspect a user's own uploaded run.From a discussion with @p.j.van_t_hof , to make it nicer to inspect a user's own uploaded run.Version 0.1.0bowbowhttps://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.0bowbowhttps://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/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/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/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/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/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: ...},
]
```bowbow