use strict;
use warnings;
use FindBin;
use File::Basename qw<basename dirname>;
#scp -P 56417 /home/xiangyang/genome_bacth_retrive/bacth_checkm.pl xiangyang@103.46.128.21:/home/xiangyang/genome_bacth_retrive/bacth_checkm.pl
#export PATH=$PATH:/home/xiangyang/miniconda3/bin
#nohup perl /home/xiangyang/MG_Pipeline_v1.01/bacth_checkm.pl /home/xiangyang/Mazhongrui/Mycobacterium_tuberculosis/G_SEQ1 190


my $sfolder = $ARGV[0];

my $home_directory = dirname($ARGV[0]);
my $checkm_result = "$home_directory/checkm_result";
mkdir $checkm_result;
my $temp_checkm_result = "$home_directory/temp_checkm_result";
mkdir $temp_checkm_result;

    opendir (DIR_SEQ, $sfolder) or die "could not open $sfolder";
    my @sfolder = readdir DIR_SEQ; 
    @sfolder = grep ($_!~/^\./ ,@sfolder);
    closedir DIR_SEQ;


my $count =0;

my $threads_number = $ARGV[1];
foreach(sort @sfolder){
    chomp;
    $count++;
    print "Subsplit file: $count init.............\n";

    my $table_out = "$checkm_result/checkm_result_".$count;
    my $folder_out = "$temp_checkm_result/checkm_result_".$count;
    mkdir $folder_out;

    system ("checkm lineage_wf -t $threads_number -x fasta --nt --tab_table -f $table_out $sfolder/$_ $folder_out");


}

system("rm -rf $temp_checkm_result");
