Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pull from devel to master to create release 99.0.0 #803

Merged
merged 41 commits into from
Jan 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
c96f724
Updated branch for dependencies on push.
mgcam Dec 4, 2023
88d7bbc
Generalised auto-generator for samplesheets.
mgcam Dec 5, 2023
0d9dbf9
Removed provisions for XML driver in samplesheet generation.
mgcam Dec 5, 2023
7b90a0f
Merge pull request #791 from mgcam/remove_provisions4xml_driver
kjsanger Dec 6, 2023
90e3a07
Removed unused test data.
mgcam Dec 6, 2023
823584a
Merge pull request #792 from mgcam/drop_unused_test_data
jmtcsngr Dec 6, 2023
7baef57
Tested the content of NovaSeqX samplesheet.
mgcam Dec 6, 2023
ed9b189
Merge pull request #790 from mgcam/generalise_samplesheet_daemon
dkj Dec 7, 2023
e63a39e
Merge pull request #793 from mgcam/tests4samplesheet_generation_novaseqx
jmtcsngr Dec 8, 2023
7b3e06e
Improved samplesheet generation for NovaSeqX.
mgcam Dec 15, 2023
8595536
Improved documentation as advised by @jmtcsngr
mgcam Dec 18, 2023
dbf9dd5
Merge pull request #794 from mgcam/novaseqx_ssheet_generator_refactor
jmtcsngr Dec 19, 2023
6ad9feb
Added ability to set path for NovaSeqX ssheet.
mgcam Dec 15, 2023
5aa5005
Simplifies the default samplesheet path.
mgcam Dec 18, 2023
8a0efa3
Small improvements following the code review
mgcam Dec 20, 2023
c496c98
Merge pull request #795 from mgcam/novaseqx_ssheet_path
jmtcsngr Dec 20, 2023
daeb7d9
Samplesheet daemon extension for NovaSeqX
mgcam Dec 18, 2023
5755c97
Added a script to generate samplesheets for pending NovaSeqX runs
mgcam Dec 19, 2023
7337e99
Supressed variant calling.
mgcam Dec 19, 2023
58ce63d
Supressed keeping interim fastq files
mgcam Dec 19, 2023
3caa2ab
Propagated driver details for mlwh driver
mgcam Dec 20, 2023
68fc045
Tested objects created with the rpt_list args.
mgcam Jan 2, 2024
c69e19f
Fixed driver details propagation in create_lane_object method
mgcam Jan 2, 2024
50a9eda
Moved tests for creating tag zero object.
mgcam Jan 3, 2024
7f1213a
Fixed driver details propagation in create_tag_zero_object method
mgcam Jan 3, 2024
de55a4b
Updated aggregate_xlanes method
mgcam Jan 3, 2024
a201104
Removed st::api::lims batch_id constructor arg.
mgcam Jan 4, 2024
770e6a1
Better phrasing
mgcam Jan 4, 2024
9a2c9f0
Ability to derive id_run from a run record
mgcam Jan 4, 2024
c2d8a58
Merge pull request #797 from mgcam/lims_driver_patch
dkj Jan 5, 2024
be4b819
Merge pull request #798 from mgcam/drop_batch_id
jmtcsngr Jan 9, 2024
1c8b653
Merge pull request #796 from mgcam/daemon4novaseqx_samplesheet
jmtcsngr Jan 9, 2024
cc116b6
Recorded recent changes
mgcam Jan 9, 2024
6e02d26
Merge pull request #800 from mgcam/changes_list_update
jmtcsngr Jan 10, 2024
71bc5ae
update signature and iRODS documentation link
jmtcsngr Jan 17, 2024
ae982c2
use https for tracking urls in emails
jmtcsngr Jan 18, 2024
8b955db
remove illumina lane qc link from emails
jmtcsngr Jan 17, 2024
f89bfed
Merge pull request #801 from jmtcsngr/up_mail
mgcam Jan 18, 2024
7f01b7b
Merge pull request #789 from mgcam/further_ci_fixes
jmtcsngr Jan 20, 2024
1f2984a
prep release 99.0.0
jmtcsngr Jan 23, 2024
821a33e
Merge pull request #802 from jmtcsngr/devel
jmtcsngr Jan 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ jobs:
PERL_CACHE: ~/perl5 # Perlbrew and CPAN modules installed here, cached
NPG_LIB: ~/perl5npg # NPG modules installed here, not cached
WSI_NPG_GITHUB_URL: https://github.com/wtsi-npg
WSI_NPG_BUILD_BRANCH: ${{ github.base_ref || github.ref }}

WSI_NPG_BUILD_BRANCH: ${{ github.base_ref}}
WSI_NPG_GITHUB_REPO_OWNER: ${{ github.repository_owner }}

strategy:
matrix:
Expand Down
20 changes: 20 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
LIST OF CHANGES

release 99.0.0
- st::api::lims
- Removed batch_id constructor argument. It was used by the xml driver,
it is no longer required.
- Fix a bug in propagating driver details to children to ensure that
(1) a switch of the driver type does not happen;
(2) the database handle and the flowcell ID are passed to children
consistently.
- Removed provisions for the xml st::api::lims driver from the old samplesheet
generator npg::samplesheet.
- To avoid code repetitions, created a parent class for different samplesheet
generators and moved common code there.
- Extended the code for the samplesheet daemon to generate samplesheets for
NovaSeqX instruments.
- Removed remaining unused test data from the era of xml st::api::lims driver.
- Updated signature and iRODS documentation link in template for emails
- Updated NPG tracking url to https protocol and port for links in emails
- Removed link to illumina/runs qc page in emails reporting status change event
to subscribers

release 98.1.0
- Added a new method, latest_revision_for_modification, to
npg_tracking::Schema::Result::Instrument to retrieve the latest modification
Expand Down
6 changes: 6 additions & 0 deletions MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ bin/illumina_instruments_uptime
bin/npg_daemon_control
bin/npg_move_runfolder
bin/npg_samplesheet4MiSeq
bin/npg_samplesheet4NovaSeqX
bin/npg_samplesheet_generator_NovaSeqXSeries
bin/npg_status_save
bin/staging_area_monitor
bin/npg_deletable_dr_runs
Expand Down Expand Up @@ -161,6 +163,7 @@ lib/npg_tracking/report/event2followers.pm
lib/npg_tracking/report/event2subscribers.pm
lib/npg_tracking/report/events.pm
lib/npg/samplesheet.pm
lib/npg/samplesheet/base.pm
lib/npg/samplesheet/novaseq_xseries.pm
lib/npg/samplesheet/auto.pm
lib/npg/util.pm
Expand Down Expand Up @@ -687,6 +690,9 @@ t/data/samplesheet/miseq_extended.csv
t/data/samplesheet/multilane.csv
t/data/samplesheet/novaseq_multirun.csv
t/data/samplesheet/samplesheet_47539.csv
t/data/samplesheet/dragen/231206_47995_NVX1_A_ssbatch98292.csv
t/data/samplesheet/dragen/231206_47995_NVX1_A_ssbatch98292_align.csv
t/data/samplesheet/dragen/231206_47995_NVX1_A_ssbatch98292_varcall.csv
t/data/test40_lims/samplesheet_novaseq4lanes.csv
t/data/test40_lims/samplesheet_rapidrun_nopool.csv
t/data/test_staging_daemon/novaseqxplus/RunInfo.xml
Expand Down
2 changes: 1 addition & 1 deletion bin/npg_samplesheet4MiSeq
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ our $VERSION = '0';
Log::Log4perl->easy_init($INFO);

my $log = Log::Log4perl->get_logger('main');
$log->info('Starting npg samplesheet');
$log->info('Starting npg samplesheet daemon for MiSeq instruments');

npg::samplesheet::auto->new()->loop();

Expand Down
98 changes: 98 additions & 0 deletions bin/npg_samplesheet4NovaSeqX
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
#!/usr/bin/env perl

use strict;
use warnings;
use FindBin qw($Bin);
use lib ( -d "$Bin/../lib/perl5" ? "$Bin/../lib/perl5" : "$Bin/../lib" );
use Log::Log4perl qw(:easy);

use npg::samplesheet::auto;

our $VERSION = '0';

Log::Log4perl->easy_init($INFO);

my $log = Log::Log4perl->get_logger('main');
$log->info('Starting npg samplesheet daemon for NovaSeqX instruments');

npg::samplesheet::auto->new(instrument_format => 'NovaSeqX')->loop();

0;

__END__

=head1 NAME

npg_samplesheet4NovaSeqX

=head1 USAGE

npg_samplesheet4NovaSeqX

=head1 DESCRIPTION

The script, once started, runs in perpetuity, generating Illumina-style
samplesheets for any NovaSeqX run with status 'run pending'.

=head1 REQUIRED ARGUMENTS

None

=head1 OPTIONS

=head1 DIAGNOSTICS

=head1 CONFIGURATION

Access to both npg_tracking and ml warehouse database is required.

=head1 DEPENDENCIES

=over

=item strict

=item warnings

=item FindBin

=item lib

=item Log::Log4perl

=item npg::samplesheet::auto

=back

=head1 EXIT STATUS

Does not exit unless is sent a signal to terminate.

=head1 INCOMPATIBILITIES

=head1 BUGS AND LIMITATIONS

=head1 AUTHOR

Marina Gourtovaia E<lt>[email protected]<gt>

=head1 LICENSE AND COPYRIGHT

Copyright (C) 2023 GRL.

This file is part of NPG.

NPG is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

=cut
66 changes: 31 additions & 35 deletions bin/npg_samplesheet_generator_NovaSeqXSeries
Original file line number Diff line number Diff line change
Expand Up @@ -27,26 +27,46 @@ npg_samplesheet_generator_NovaSeqXSeries

C<help> - displays help message and exists

C<varcall> - variant calling mode, defaults to C<None>, other valid options
C<SmallVariantCaller> and C<AllVariantCallers>

C<batch_id> - LIMS batch identifier, optional

C<id_run> - NPG run ID, optional; if supplied, the record for this run
should exists in the run tracking database

C<read_length> -
an optional list of read lengths, forward first, reverse
second; currently both default to 151

C<index_read_length> -
an optional list of index read lengths for the first and,
optionally, second index read; if not given, computed from
the length of barcodes recorded in LIMS

C<align> - a boolean option, false by default; if set, the DRAGEN
germline analysis section is added to the file if suitable
samples are present
C<keep_fastq> - an option to keep FASTQ files for aligned data, false
default
C<dragen_max_number_of_configs> - DRAGEN analysis can deal with a limited
number of distinct configurations. Set this attribute if
processing not on-board.

C<varcall> - variant calling mode, defaults to C<None>, other valid options
C<SmallVariantCaller> and C<AllVariantCallers>

C<keep_fastq> -
an option to keep FASTQ files for aligned data, false by
default

C<dragen_max_number_of_configs> -
DRAGEN analysis can deal with a limited number of distinct
configurations. Set this attribute if processing off-board.

C<dragen_software_version> -
DRAGEN software version to use, optional

C<file_name> -
name of the samplesheet CSV file, optional

=head1 DESCRIPTION

Samplesheet generation to initiate DRAGEN analysis of data sequenced
on the NovaSeq Series X Illumina instrument.
Generates a single samplesheet for the NovaSeq Series X Illumina instrument
and DRAGEN analysis.

=head1 EXIT STATUS

Expand All @@ -56,37 +76,13 @@ on the NovaSeq Series X Illumina instrument.

=head1 CONFIGURATION

Access to the ml warehouse database is required.
Access to both ml warehouse and npg tracking database is required.

=head1 DEPENDENCIES

=over

=item strict

=item warnings

=item Carp

=item Text::CSV

=item Readonly

=item List::MoreUtils

=item List::Util

=item Getopt::Long

=item Pod::Usage

=item DateTime

=item Data::UUID

=item st::api::lims

=item npg_tracking::Schema
=item npg::samplesheet::novaseq_xseries

=back

Expand Down
3 changes: 1 addition & 2 deletions data/npg_tracking_email/templates/run_status2followers.tt2
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,12 @@ Study '[% lanes.0.study_name %]' has samples in the following lanes of this run:
Sequencing and default analysis for this run completed. Run is now pending manual QC review. Meanwhile, we will be loading analysis results into iRODS.
[%- END %]
[%- IF status_description == 'qc complete' -%]
The manual QC review is complete and your data should now be available from iRODS (see http://scratchy.internal.sanger.ac.uk/wiki/index.php/IRODS_for_Sequencing_Users ).
The manual QC review is complete and your data should now be available from iRODS (see https://ssg-confluence.internal.sanger.ac.uk/display/FARM/iRODS ).
[%- END %]

NPG page for the run:
[% PROCESS urls.tt2 %][% npg_tracking_url %]/run/[% id_run %]

Analysis and QC information for this run will be/is available:
[% seqqc_url %]/illumina/runs/[% id_run %]
[% seqqc_url %]/checks/runs/[% id_run %]
[% END %]
2 changes: 1 addition & 1 deletion data/npg_tracking_email/templates/urls.tt2
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[%
seqqc_url = 'http://sfweb.internal.sanger.ac.uk:1959';
npg_tracking_url = 'http://sfweb.internal.sanger.ac.uk:9000/perl/npg';
npg_tracking_url = 'https://sfweb.internal.sanger.ac.uk:12443/perl/npg';
%]
2 changes: 1 addition & 1 deletion data/npg_tracking_email/templates/wrapper.tt2
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[% content %]
NPG, DNA Pipelines Informatics
NPG on behalf of DNA Pipelines and GSLP
Loading