Coder Social home page Coder Social logo

npg_qc's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

npg_qc's Issues

SeqQC: light weight controller to provide data for what is qc-able

Create a light weight controller to provide data for what is qc-able in a page. It should work using the same/similar queries to those used for reporting current manual QC outcomes. Query the controller to take decisions about when to generate manual qc widgets in client side.

SeqQC controllers for reporting mqc state as json

The Mqc controller have both get and post operations. Consider splitting into two. Consider consolidating all get operations in one controller (MqcRun) or create a family of controllers reporting the mqc state as json.

Is there any benefit in using these feeds as API by bam meta updater?

Illumina qc loade enhancement

an option (runforder path glob, like /\gs\d+ or /\sf\d+), which the cron will use so only runs appropriate for the farm are considered

ability to run from interop files archiva - alternative runfolder root/path?

display of mqc widgets for the qc-er: inconsistency between run and lane page

run 17831 - qc in progress
qc-er is logged in
all lanes are passed according to the ml warehouse data
http://sf2-farm-srv1.internal.sanger.ac.uk:1969/checks/runs/17831 - widgets are not displayed, table cells with lane number have blue background (pass)
http://sf2-farm-srv1.internal.sanger.ac.uk:1969/checks/runs?db_lookup=1&show=all&run=17831&lane=2 - widgets are displayed (showing undecided), table cells with lane number have blue background (pass)

norm_fit executable does not report a version

Could be implemented as in pbcal, ie the makefile creates version.h file that is then compiled into the code. Or copy the source file, change the version there as for perl modules and compile the copy.

SeqQC: .is(':visible') needs to be refactored where possible

Using $.is(':visible') has proven to be considerably slow when applied to a significant number of objects. Re-factor where possible as css rules so is not executed inside loops. We suspect it traverses the DOM each time it is executed to find if the element and its parents are part of subset of elements in the DOM (visible ones). An example of this situation is the code which generates d3 plots. The problem seems to be significantly worse with firefox.

SeqQC: Automate process for running javascript tests

should install locally test dependencies
should run javascript tests
shoudl be possible to run grunt tests as a part of 'tets' action for Build.PL
add running grunt tests to Travis build and to prod deployment scripts (probably)

SeqQC: multiple references concatenated

Having data with multiple references concatenated produces a big horizontal html table. The whole set of references is considered as a single very long word making the table fill the screen. Because plot sizes are based on the container size, very big plots are being generated.

It may be affecting the functionality of right menu too.

See run 18804, lane 1 sequence mismatch.

DBIx mqc outcome objects design

Mqc outcome rows have boolean methods assessing the outcome as final, accepted, etc. These methods are straight delegations to similar methods on the dictionary objects. This is OK as long as the relationship exists. One might think that the relationship always exist since it's based on a non nullable foreign key. However, some of the objects in the code do not have this relationship because they are new (created with new()) in-memory objects.

Coding around this, for example, returning false if the relationship is not defined, would be logically wrong.

One of the solutions might be extending the new() method to return objects with the relationship already defined. If successful, this will remove lots of details from the parts of the code where these details do not belong and make the code more robust.

two 'archival pending' statuses for a run after manual QC

from Paul:" I have just QC’ed run 36525. However I have noticed there are two entries for Archival Pending for this run.
I know Neil had something similar a while ago and his run went through okay, however I thought it wise to inform NPG just in case run 36525 causes issues."

mqc error display

If the error message does not start with 'Error', the full message is displayed, example

No LIMs data for run 17877 position 1 at /nfs/users/nfs_m/mg8/working/npg_qc/npg_qc_viewer/bin/../lib/npg_qc_viewer/Controller/Mqc.pm line 85.

but

Error: No LIMs data for run 17877 position 1

Prefixing error messages in Perl with 'Error' for the sake of display in GUI is not a robust strategy; looks strange in perl.

qc_db_delete_autoqc doesn't work for QC checks which use id_seq_composition

there are two problems with qc_db_delete_autoqc

firstly checks_list function has moved from npg_qc::autoqc::autoqc to npg_qc::autoqc::results::collection

secondly the code assume all the database table have a id_run column, this isn't true for qc checks which use composition i.e.

rna_seqqc, samtools_stats and sequence_summary

mqc skipper improvements

I wondered if pulling back the review and artic QC separately, and dealing with them separately (if possible and didn't make for code repetition), would simplify the code? (I'm not digging in enough to judge)

Unable to properly deflate for historic tables.

Historic tables for lane and plex level library qc have problems when deflating. Both historic tables were designed without a unique key for id_run/position and id_run/position/tag_index. They only work with a numeric primary key to identify each row. Because deflate works with the table definition (unique key), it can not properly deflate null value in tag_index. This can cause problems if using deflate before a search. As the null value will no be changed to the default value (-1) so it will not find the rows specified in the condition.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.