@@ -664,3 +664,78 @@ def test_transfer_data_dry_run(self):
664664 "--dry-run" ]), 0 )
665665 # Check nothing was transferred
666666 self .assertEqual (len (os .listdir (target_dir )), 0 )
667+
668+ def test_transfer_data_fastqs_with_qc_report_short_names (self ):
669+ """
670+ transfer_data: copy Fastqs and QC report with shortened names
671+ """
672+ # Make a mock auto-process directory
673+ mockdir = MockAnalysisDirFactory .bcl2fastq2 (
674+ '170901_M00879_0087_000000000-AGEW9' ,
675+ 'miseq' ,
676+ metadata = { "instrument_datestamp" : "170901" ,
677+ "run_number" : "89" },
678+ project_metadata = { "AB" : { "Library type" : "RNA-seq" ,
679+ "Organism" : "Human" } },
680+ top_dir = self .dirn )
681+ mockdir .create ()
682+ # Add QC outputs
683+ project = AnalysisProject (os .path .join (mockdir .dirn , "AB" ))
684+ UpdateAnalysisProject (project ).add_qc_outputs ()
685+ # Make a target directory
686+ target_dir = os .path .join (self .dirn , "shared" )
687+ os .makedirs (target_dir )
688+ # Do data transfer (--include_qc_report)
689+ self .assertEqual (transfer_data (
690+ [target_dir ,
691+ os .path .join (mockdir .dirn , "AB" ),
692+ "--include_qc_report" ,
693+ "--short_names" ]), 0 )
694+ # Check transferred artefacts
695+ print (os .listdir (target_dir ))
696+ expected_files = ("AB1_S1_R1_001.fastq.gz" ,
697+ "AB1_S1_R2_001.fastq.gz" ,
698+ "AB2_S2_R2_001.fastq.gz" ,
699+ "AB2_S2_R1_001.fastq.gz" ,
700+ "AB.chksums" ,
701+ "qc_report.AB.zip" )
702+ for f in expected_files :
703+ self .assertTrue (os .path .exists (os .path .join (target_dir , f )),
704+ f"'{ f } ': missing, should be present" )
705+ for f in os .listdir (target_dir ):
706+ self .assertTrue (f in expected_files ,
707+ f"'{ f } ': present, but not expected" )
708+
709+ def test_transfer_data_zip_fastqs_short_names (self ):
710+ """
711+ transfer_data: put Fastqs into ZIP archive using shortened names
712+ """
713+ # Make a mock auto-process directory
714+ mockdir = MockAnalysisDirFactory .bcl2fastq2 (
715+ '170901_M00879_0087_000000000-AGEW9' ,
716+ 'miseq' ,
717+ metadata = { "instrument_datestamp" : "170901" ,
718+ "run_number" : "89" },
719+ project_metadata = { "AB" : { "Library type" : "RNA-seq" ,
720+ "Organism" : "Human" } },
721+ top_dir = self .dirn )
722+ mockdir .create ()
723+ # Make a target directory
724+ target_dir = os .path .join (self .dirn , "shared" )
725+ os .makedirs (target_dir )
726+ # Do data transfer (--zip_fastqs)
727+ self .assertEqual (transfer_data (
728+ [target_dir ,
729+ os .path .join (mockdir .dirn , "AB" ),
730+ "--zip_fastqs" ,
731+ "--short_names" ]), 0 )
732+ # Check transferred artefacts
733+ print (os .listdir (target_dir ))
734+ expected_files = ("AB-fastqs.zip" ,
735+ "AB-fastqs.checksums" )
736+ for f in expected_files :
737+ self .assertTrue (os .path .exists (os .path .join (target_dir , f )),
738+ f"'{ f } ': missing, should be present" )
739+ for f in os .listdir (target_dir ):
740+ self .assertTrue (f in expected_files ,
741+ f"'{ f } ': present, but not expected" )
0 commit comments