Statistical Algorithms Importer: Pre-Installed Project FAQ

From Gcube Wiki
Revision as of 14:20, 20 October 2017 by Giancarlo.panichi (Talk | contribs) (How Use File Input)

Jump to: navigation, search

F.A.Q. of Statistical Algorithms Importer (SAI), here are common mistakes we have found in Pre-Installed Project.


Windows User

Warning, this type of project will be launched in Linux environment. So be careful, all script files need to have a compatible Linux encoding. For example one difference is that Windows uses \r\n, whereas Linux uses \n for line termination. Another example is that Windows support "Unicode" UTF-16LE, and each character is 2 or 4 bytes, whereas Linux uses UTF-8, and each character is between 1 and 4 bytes. Also be aware of the Cut and Paste operation done from Windows machines that can enter unwanted \r\n characters. To solve this problem you can use the "convert to unix" functionality provided by notepad++ for example, or look for this feature in your editor.

How Use File Input

Add input file parameters in Pre-Installed project, for example we consider DiffBasic:
DiffBasic, SAI
DataMiner show the DiffBasic algorithms in this way:
DiffBasic in DataMiner interface, SAI
Bash script code in sample:
#!/bin/bash
#
# author: Giancarlo Panichi
#
echo "DiffBasic Project";
echo "Author: Giancarlo Panchi";
echo "Parameter operator: " $1;
echo "Parameter options: " $2;
echo "Parameter file1: " $3;
echo "Parameter file2: " $4;
echo "Output file: output.txt";

OUT="output.txt";

case "$1" in
        diff)
            diff $2 $3 $4 > $OUT;
            ;;

        sdiff)
            sdiff $2 $3 $4 > $OUT;
            ;;
        *)
            echo $"Usage: $1 {diff|sdiff}";
            exit 1;
esac
file1.txt:
apples
oranges
kiwis
carrots
file2.txt:
apples
kiwis
carrots
grapefruits
diff -u result:
--- file1.txt   2017-10-20 11:28:37.750414863 +0200
+++ file2.txt   2017-10-20 11:28:54.638372491 +0200
@@ -1,4 +1,4 @@
 apples
-oranges
 kiwis
 carrots
+grapefruits
sdiff -a result:
apples                                                          apples
oranges                                                       <
kiwis                                                           kiwis
carrots                                                         carrots
                                                              > grapefruits


Bash code in sample:

File:DiffBasic.zip