Skip to content

Add basic script to check directory content against the manifests #10

Open
sarahhunt wants to merge 1 commit into
igsr:masterfrom
sarahhunt:checker
Open

Add basic script to check directory content against the manifests #10
sarahhunt wants to merge 1 commit into
igsr:masterfrom
sarahhunt:checker

Conversation

@sarahhunt
Copy link
Copy Markdown

No description provided.

Comment thread scripts/check_IGSR_ftp.pl
my $ftp = Net::FTP->new("ftp.1000genomes.ebi.ac.uk", Debug => 0)|| die "Cannot connect to ftp.1000genomes.ebi.ac.uk: $@";
$ftp->login("anonymous",'-anonymous@') || die "Cannot login ", $ftp->message;

open my $dir_list, $ARGV[0] || die "Failed to open dir list $ARGV[0] : $!\n";
Copy link
Copy Markdown
Collaborator

@likhitha-surapaneni likhitha-surapaneni Sep 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
open my $dir_list, $ARGV[0] || die "Failed to open dir list $ARGV[0] : $!\n";
open my $dir_list, $ARGV[0] or die "Failed to open dir list $ARGV[0] : $!\n";

Interestingly, the code behaves differently for or and || when there is a file opening error. Tested with perl 5.26

Comment thread scripts/check_IGSR_ftp.pl
my $data_file_list = $ftp->dir();

## write list of all & download manifest
open my $out, ">", "$dir\_data_file_list" ||die "Failed to open file to write list of data files for $dir :$!\n";
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
open my $out, ">", "$dir\_data_file_list" ||die "Failed to open file to write list of data files for $dir :$!\n";
open my $out, ">", "$dir\_data_file_list" or die "Failed to open file to write list of data files for $dir :$!\n";

Comment thread scripts/check_IGSR_ftp.pl


## check files in manifest available & get sizes
open my $size_log, ">$dir\_data_file_sizes" ||die "Failed to open file to write sizes of data files :$!\n";
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
open my $size_log, ">$dir\_data_file_sizes" ||die "Failed to open file to write sizes of data files :$!\n";
open my $size_log, ">$dir\_data_file_sizes" or die "Failed to open file to write sizes of data files :$!\n";

Comment thread scripts/check_IGSR_ftp.pl
foreach my $mani ( keys %get){
print "starting on manifest $mani\n";

open my $filelist, $mani || die "Failed to read manifest $mani :$!\n";
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
open my $filelist, $mani || die "Failed to read manifest $mani :$!\n";
open my $filelist, $mani or die "Failed to read manifest $mani :$!\n";

Comment thread scripts/check_IGSR_ftp.pl
$ftp->cwd("$ftp_dir/$dir") || die "Cannot change project directory to $ftp_dir/$dir ", $ftp->message;

## get list of data files per dir
my $data_file_list = $ftp->dir();
Copy link
Copy Markdown
Collaborator

@likhitha-surapaneni likhitha-surapaneni Sep 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not giving a recursive list according to docs. Do we want to list the files recursively?
Sometimes the manifest file may not be in the root directory, we may miss the manifest file in this case unless we have a convention to have the manifest file in the root directory always.
Ex: 20220711_Strandseq

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants