<commit_before>#!/usr/bin/perl
##################################################################################
#   
#	USAGE: perl assemble.pl [bnx_dir] [reference] [p_value Threshold] [script directory] [project prefix]
#
#  Created by <NAME>
#
##################################################################################
use strict;
use warnings;
# use List::Util qw(max);
# use List::Util qw(sum);
use lib '/homes/bioinfo/bioinfo_software/perl_modules/lib/perl5/';
use XML::Simple;
use Data::Dumper;
##################################################################################
##############                     get arguments                ##################
##################################################################################
my $bnx_dir = $ARGV[0];
my $ref = $ARGV[1];
my $T = $ARGV[2];
my $dirname = $ARGV[3];
my $project = $ARGV[4];
print "bnx_dir = $ARGV[0]\n";
print "ref = $ARGV[1]\n";
print "T = $ARGV[2]\n";
print "dirname = $ARGV[3]\n";
my $err="${bnx_dir}/all_flowcells/all_flowcells_adj_merged_bestref.err";
##################################################################################
##############              get parameters for XML              ##################
##################################################################################
my $T_relaxed = $T * 10;
my $T_strict = $T/10;
my ($FP,$FN,$SiteSD_Kb,$ScalingSD_Kb_square);
open (ERR,'<',"$err") or die "can't open $err!\n";
while (<ERR>) # get noise parameters
{
    if (eof)
    {
        my @values=split/\t/;
        for my $value (@values)
        {
            s/\s+//g;
        }
        my $map_ratio = $values[9]/$values[7];
        ($FP,$FN,$SiteSD_Kb,$ScalingSD_Kb_square)=($values[1],$values[2],$values[3],$values[4]);
    }
}

##################################################################################
##############                 parse XML                        ##################
##################################################################################

my %p_value = (
'strict_t' => "$T_strict",
'default_t' => "$T",
'relaxed_t' => "$T_relaxed",
);
print OUT_ASSEMBLE "##################################################################\n";
print OUT_ASSEMBLE "#####             FIRST ASSEMBLY COMMANDS                 #####\n";
print OUT_ASSEMBLE "##################################################################\n";
for my $stringency (keys %p_value)
{
    ##################################################################
    ##############        Write bash scripts        ##################
    ##################################################################
    open (OUT_ASSEMBLE, '>>',"${bnx_dir}/assembly_commands_$stringency.sh"); # for assembly commands
    print OUT_ASSEMBLE "#!/bin/bash\n";
    print OUT_ASSEMBLE ". /usr/bin/virtualenvwrapper.sh\n";
    print OUT_ASSEMBLE "workon bionano\n";
    print OUT_ASSEMBLE "export DRMAA_LIBRARY_PATH=/opt/sge/lib/lx3-amd64/libdrmaa.so.1.0\n";
#    print OUT_ASSEMBLE "python2 bioinfo_software/bionano/scripts/pipelineCL.py\n";
    ##################################################################
    ##############     Create assembly directories  ##################
    ##################################################################
    my $out_dir = "${bnx_dir}/${stringency}";
    unless(mkdir $out_dir)
    {
		die "Unable to create $out_dir\n";
	}
    ##################################################################
    ##############        Set assembly parameters   ##################
    ##################################################################
    my $xml_infile = "${dirname}/optArguments2.xml";
    my $xml_outfile = "${bnx_dir}/${stringency}/${stringency}_optArguments.xml";
    my $xml = XMLin($xml_infile);
    open (OUT, '>',"${bnx_dir}/${stringency}/dumped.txt");
    print OUT Dumper($xml);
    ########################################
    ##             Pairwise               ##
    ########################################
    $xml->{pairwise}->{flag}->[0]->{val0} = $p_value{$stringency};
    ########################################
    ##               Noise                ##<commit_msg>update format of assembly script<commit_after>#!/usr/bin/perl
##################################################################################
#   
#	USAGE: perl assemble.pl [bnx_dir] [reference] [p_value Threshold] [script directory] [project prefix]
#
#  Created by <NAME>
#
##################################################################################
use strict;
use warnings;
# use List::Util qw(max);
# use List::Util qw(sum);
use lib '/homes/bioinfo/bioinfo_software/perl_modules/lib/perl5/';
use XML::Simple;
use Data::Dumper;
##################################################################################
##############                     get arguments                ##################
##################################################################################
my $bnx_dir = $ARGV[0];
my $ref = $ARGV[1];
my $T = $ARGV[2];
my $dirname = $ARGV[3];
my $project = $ARGV[4];
print "bnx_dir = $ARGV[0]\n";
print "ref = $ARGV[1]\n";
print "T = $ARGV[2]\n";
print "dirname = $ARGV[3]\n";
my $err="${bnx_dir}/all_flowcells/all_flowcells_adj_merged_bestref.err";
##################################################################################
##############              get parameters for XML              ##################
##################################################################################
my $T_relaxed = $T * 10;
my $T_strict = $T/10;
my ($FP,$FN,$SiteSD_Kb,$ScalingSD_Kb_square);
open (ERR,'<',"$err") or die "can't open $err!\n";
while (<ERR>) # get noise parameters
{
    if (eof)
    {
        my @values=split/\t/;
        for my $value (@values)
        {
            s/\s+//g;
        }
        my $map_ratio = $values[9]/$values[7];
        ($FP,$FN,$SiteSD_Kb,$ScalingSD_Kb_square)=($values[1],$values[2],$values[3],$values[4]);
    }
}

##################################################################################
##############                 parse XML                        ##################
##################################################################################

my %p_value = (
'strict_t' => "$T_strict",
'default_t' => "$T",
'relaxed_t' => "$T_relaxed",
);
open (OUT_ASSEMBLE, '>>',"${bnx_dir}/assembly_commands.sh"); # for assembly commands
print OUT_ASSEMBLE "##################################################################\n";
print OUT_ASSEMBLE "#####             FIRST ASSEMBLY COMMANDS                 #####\n";
print OUT_ASSEMBLE "##################################################################\n";
for my $stringency (keys %p_value)
{
    ##################################################################
    ##############        Write bash scripts        ##################
    ##################################################################

    print OUT_ASSEMBLE "#!/bin/bash\n";
    print OUT_ASSEMBLE ". /usr/bin/virtualenvwrapper.sh\n";
    print OUT_ASSEMBLE "workon bionano\n";
    print OUT_ASSEMBLE "export DRMAA_LIBRARY_PATH=/opt/sge/lib/lx3-amd64/libdrmaa.so.1.0\n";
#    print OUT_ASSEMBLE "python2 bioinfo_software/bionano/scripts/pipelineCL.py\n";
    ##################################################################
    ##############     Create assembly directories  ##################
    ##################################################################
    my $out_dir = "${bnx_dir}/${stringency}";
    unless(mkdir $out_dir)
    {
		die "Unable to create $out_dir\n";
	}
    ##################################################################
    ##############        Set assembly parameters   ##################
    ##################################################################
    my $xml_infile = "${dirname}/optArguments2.xml";
    my $xml_outfile = "${bnx_dir}/${stringency}/${stringency}_optArguments.xml";
    my $xml = XMLin($xml_infile);
    open (OUT, '>',"${bnx_dir}/${stringency}/dumped.txt");
    print OUT Dumper($xml);
    ########################################
    ##             Pairwise               ##
    ########################################
    $xml->{pairwise}->{flag}->[0]->{val0} = $p_value{$stringency};
    ########################################
    ##               Noise                ##
{'fraction_non_alphanumeric': 0.47110522513845415, 'fraction_numerical': 0.006982903924873585, 'mean_word_length': 4.5602409638554215, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 16}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7652282', 'n_tokens_mistral': 2385, 'n_tokens_neox': 2231, 'n_words': 384}