0
|
1 #!/usr/bin/perl
|
|
2
|
|
3 if(@ARGV<13) { print "usage: $0 sample_name sample_MA_dir midrefix(samplename.midrefix.i.all.gMA) EUMAprefix(before .gEUMA or .iEUMA) gFVKM_out_dir LGPM_out_dir EUMA_cut mapping_stat_column mapping_stat_file presence_of_i_at_end_of_midrefix[1/0] final_adjustment_option[1:average & rescaling/2:max & no rescaling] gene2NM_file gene2symbol_file datatype(R(Refseq)_or_E(Ensembl)) scriptdir\n"; exit; }
|
|
4
|
|
5 my $sample = shift @ARGV;
|
|
6 my $sample_MA_dir = shift @ARGV;
|
|
7 my $midrefix = shift @ARGV;
|
|
8 my $EUMAprefix = shift @ARGV;
|
|
9 my $FVKM_out_dir = shift @ARGV;
|
|
10 my $LVKM_out_dir = shift @ARGV;
|
|
11 my $EUMA_cut = shift @ARGV;
|
|
12 my $mapping_stat_column = shift @ARGV;
|
|
13 my $mapping_stat_file = shift @ARGV;
|
|
14 my $i_after_midrefix = shift @ARGV;
|
|
15 my $final_adjustment_option = shift @ARGV;
|
|
16 my $gene2NM_file = shift @ARGV;
|
|
17 my $gene2symbol_file = shift @ARGV;
|
|
18 my $datatype = shift @ARGV;
|
|
19 my $scriptdir = shift @ARGV;
|
|
20
|
|
21 if(!-d $FVKM_out_dir) { `mkdir -p $FVKM_out_dir`; }
|
|
22 if(!-d $LVKM_out_dir) { `mkdir -p $LVKM_out_dir`;}
|
|
23
|
|
24 $perlcommand= "perl -I $scriptdir";
|
|
25
|
|
26 $gMA2gFVKM_script = "$scriptdir/gMA2gFVKM_2.pl";
|
|
27 $iMA2iFVKM_script = "$scriptdir/iMA2iFVKM.pl";
|
|
28 $combine_gFVKM_iFVKM_script = "$scriptdir/combine_gFVKM_iFVKM_max.pl";
|
|
29 $normalize_gFVKM_script = "$scriptdir/normalize_gFVKM_5.pl";
|
|
30 $normalize_iFVKM_script = "$scriptdir/normalize_iFVKM_6.pl";
|
|
31 $NR_filter_script = "$scriptdir/filter_exclusive_NRgene_from_gene_table.pl";
|
|
32
|
|
33
|
|
34 #computing gFVKM and iFVKM, from EUMA/iEUMA and gMA/iMA files.
|
|
35 if($i_after_midrefix eq '1'){ $MA_midrefix = "$midrefix.i";}
|
|
36 else { $MA_midrefix = $midrefix; }
|
|
37 `$perlcommand $gMA2gFVKM_script $sample_MA_dir/$sample.$MA_midrefix.all.gMA $EUMAprefix.gEUMA > $FVKM_out_dir/$sample.$midrefix.gFVKM`;
|
|
38 `$perlcommand $iMA2iFVKM_script $sample_MA_dir/$sample.$MA_midrefix.all.iMA $EUMAprefix.iEUMA > $FVKM_out_dir/$sample.$midrefix.iFVKM`;
|
|
39
|
|
40 #updating gFVKM & iFVKM baed on each other
|
|
41 `$perlcommand $combine_gFVKM_iFVKM_script $FVKM_out_dir/$sample.$midrefix.gFVKM $FVKM_out_dir/$sample.$midrefix.iFVKM $gene2NM_file $EUMA_cut $FVKM_out_dir/$sample.$midrefix.$EUMA_cut.final.gFVKM $FVKM_out_dir/$sample.$midrefix.$EUMA_cut.final.iFVKM`;
|
|
42
|
|
43 #normalize and compute LGPM/LTPM
|
|
44 `$perlcommand $normalize_gFVKM_script $FVKM_out_dir/$sample.$midrefix.$EUMA_cut.final.gFVKM $mapping_stat_file $gene2symbol_file $mapping_stat_column $sample $LVKM_out_dir/$sample.$midrefix.$EUMA_cut.gLVKM`;
|
|
45 `$perlcommand $normalize_iFVKM_script $FVKM_out_dir/$sample.$midrefix.$EUMA_cut.final.iFVKM $mapping_stat_file $gene2symbol_file $mapping_stat_column $sample $LVKM_out_dir/$sample.$midrefix.$EUMA_cut.iLVKM`;
|
|
46
|
|
47 #filter NR-only genes
|
|
48 if($datatype eq 'R'){
|
|
49 `$perlcommand $NR_filter_script $gene2NM_file $LVKM_out_dir/$sample.$midrefix.$EUMA_cut.gLVKM > $LVKM_out_dir/$sample.$midrefix.$EUMA_cut.-NR.gLVKM`;
|
|
50 `$perlcommand $NR_filter_script $gene2NM_file $LVKM_out_dir/$sample.$midrefix.$EUMA_cut.iLVKM > $LVKM_out_dir/$sample.$midrefix.$EUMA_cut.-NR.iLVKM`;
|
|
51 }
|
|
52
|
|
53
|