NorwegianVeterinaryInstitute / DemultiplexRawSequenceData

A workflow automation script: demultiplex the library sequence, run quality checks, deliver to archiving and processing afterwards
GNU General Public License v3.0
1 stars 0 forks source link

Delineate between demultiplexing and delivery scripts #12

Closed karinlag closed 1 year ago

karinlag commented 2 years ago

Demultiplexing sorts out the read data into fastq files. It requires the samplesheet from the Clarity LIMS system. The transfer script will require similar information to take the fastq files and put into the VIGAS system. Thus we need to delineate between the two scripts.

karinlag commented 2 years ago

Blocked by #15

georgemarselis-nvi commented 1 year ago

15 is resolved

georgemarselis-nvi commented 1 year ago

The transfer script will require similar information to take the fastq files and put into the VIGAS system.

No such issue. The transfer client for IRIDA is written in Python. Hence, once the client is installed on seqtech01, we can import the client as a module in the demultiplexing script.

We will need, though, to issue an account for the demultiplexing script, along with password and token. Not sure if the account has to have admin access on IRIDA, though. To be investigated

karinlag commented 1 year ago

This was an issue that then sorted itself out. @georgemarselis-nvi, describe more in detail why two scripts are not needed, then we can close this.

georgemarselis-nvi commented 1 year ago

It's not that two scripts are not needed, it's just that this is a question of architecture: Whether I stick everything in a 10Kloc python script (I won't), or create something that can be installed by "pip3 install NVI-demux" (eventually yes) is a matter of convenience. And the convenient (and less messy part) is to make a demux Python3 class that can be instantiated as many times we need as such

demuxObj = new demux( RunID )

which under the hood will do a lot of the initial heavy lifting and setup:

which will get the first 100 lines of def main( ) out of the way. it will be a module that sits somewhere in the Python import path and do the usual abstraction, much as Python 3 does.

Single front end, multiple modules in the background that