docs: def link(self, family: str, sample: str, analysis_type: str, files: List[str]):
          """Link FASTQ files for a sample."""
          root_dir = Path(self.families_dir) / family / analysis_type / sample / 'fastq'
          root_dir.mkdir(parents=True, exist_ok=True)
          for fastq_data in files:
              fastq_path = Path(fastq_data['path'])
              fastq_name = self.name_file(
                  lane=fastq_data['lane'],
                  flowcell=fastq_data['flowcell'],
                  sample=sample,
                  read=fastq_data['read'],
                  undetermined=fastq_data['undetermined'],
              )
              dest_path = root_dir / fastq_name
              if not dest_path.exists():
                  log.info(f"linking: {fastq_path} -> {dest_path}")
                  dest_path.symlink_to(fastq_path)
              else:
                  log.debug(f"destination path already exists: {dest_path}")