annotate mayachemtool/mayachemtools/docs/scripts/txt/MergeTextFiles.txt @ 0:68300206e90d draft default tip

Uploaded
author deepakjadmin
date Thu, 05 Nov 2015 02:41:30 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
1 NAME
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
2 MergeTextFiles.pl - Merge multiple CSV or TSV text files into a single
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
3 text file
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
4
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
5 SYNOPSIS
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
6 MergeTextFiles.pl TextFiles...
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
7
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
8 MergeTextFiles.pl [-h, --help] [--indelim comma | semicolon] [-c,
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
9 --columns colnum,...;... | collabel,...;...] [-k, --keys colnum,...;...
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
10 | collabel,...;...] [-m, --mode colnum | collabel] [-o, --overwrite]
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
11 [--outdelim comma | tab | semicolon] [-q, --quote yes | no] [-r, --root
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
12 rootname] [-s, --startcol colnum | collabel] [--startcolmode before |
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
13 after] [-w, --workingdir dirname] TextFiles...
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
14
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
15 DESCRIPTION
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
16 Merge multiple CSV or TSV *TextFiles* into first *TextFile* to generate
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
17 a single text file. Unless -k --keys option is used, data rows from
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
18 other *TextFiles* are added to first *TextFile* in a sequential order,
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
19 and the number of rows in first *TextFile* is used to determine how many
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
20 rows of data are added from other *TextFiles*.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
21
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
22 Multiple *TextFiles* names are separated by space. The valid file
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
23 extensions are *.csv* and *.tsv* for comma/semicolon and tab delimited
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
24 text files respectively. All other file names are ignored. All the text
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
25 files in a current directory can be specified by **.csv*, **.tsv*, or
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
26 the current directory name. The --indelim option determines the format
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
27 of *TextFiles*. Any file which doesn't correspond to the format
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
28 indicated by --indelim option is ignored.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
29
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
30 OPTIONS
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
31 -h, --help
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
32 Print this help message.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
33
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
34 --indelim *comma | semicolon*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
35 Input delimiter for CSV *TextFile(s)*. Possible values: *comma or
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
36 semicolon*. Default value: *comma*. For TSV files, this option is
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
37 ignored and *tab* is used as a delimiter.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
38
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
39 -c, --columns *colnum,...;... | collabel,...;...*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
40 This value is mode specific. It is a list of columns to merge into
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
41 first text file specified by column numbers or labels for each text
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
42 file delimited by ";". All specified text files are merged into
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
43 first text file.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
44
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
45 Default value: *all;all;...*. By default, all columns from specified
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
46 text files are merged into first text file.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
47
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
48 For *colnum* mode, input value format is:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
49 *colnum,...;colnum,...;...*. Example:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
50
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
51 "1,2;1,3,4;7,8,9"
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
52
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
53 For *collabel* mode, input value format is:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
54 *collabel,...;collabel,...;...*. Example:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
55
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
56 "MW,SumNO;SumNHOH,ClogP,PSA;MolName,Mol_Id,Extreg"
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
57
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
58 -k, --keys *colnum,...;... | collabel,...;...*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
59 This value is mode specific. It specifies column keys to use for
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
60 merging all specified text files into first text file. The column
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
61 keys are specified by column numbers or labels for each text file
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
62 delimited by ";".
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
63
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
64 By default, data rows from text files are merged into first file in
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
65 the order they appear.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
66
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
67 For *colnum* mode, input value format is:*colkeynum, colkeynum;...*.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
68 Example:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
69
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
70 "1;3;7"
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
71
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
72 For *collabel* mode, input value format is:*colkeylabel,
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
73 colkeylabel;...*. Example:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
74
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
75 "Mol_Id;Mol_Id;Cmpd_Id"
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
76
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
77 -m, --mode *colnum | collabel*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
78 Specify how to merge text files: using column numbers or column
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
79 labels. Possible values: *colnum or collabel*. Default value:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
80 *colnum*.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
81
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
82 -o, --overwrite
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
83 Overwrite existing files.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
84
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
85 --outdelim *comma | tab | semicolon*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
86 Output text file delimiter. Possible values: *comma, tab, or
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
87 semicolon* Default value: *comma*.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
88
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
89 -q, --quote *yes | no*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
90 Put quotes around column values in output text file. Possible
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
91 values: *yes or no*. Default value: *yes*.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
92
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
93 -r, --root *rootname*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
94 New text file name is generated using the root: <Root>.<Ext>.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
95 Default file name: <FirstTextFileName>1To<Count>Merged.<Ext>. The
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
96 csv, and tsv <Ext> values are used for comma/semicolon, and tab
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
97 delimited text files respectively.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
98
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
99 -s, --startcol *colnum | collabel*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
100 This value is mode specific. It specifies the column in first text
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
101 file which is used for start merging other text files.For *colnum*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
102 mode, specify column number and for *collabel* mode, specify column
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
103 label.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
104
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
105 Default value: *last*. Start merge after the last column.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
106
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
107 --startcolmode *before | after*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
108 Start the merge before or after the -s, --startcol value. Possible
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
109 values: *before or after* Default value: *after*.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
110
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
111 -w, --workingdir *dirname*
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
112 Location of working directory. Default: current directory.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
113
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
114 EXAMPLES
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
115 To merge Sample2.csv and Sample3.csv into Sample1.csv and generate
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
116 NewSample.csv, type:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
117
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
118 % MergeTextFiles.pl -r NewSample -o Sample1.csv Sample2.csv
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
119 Sample3.csv
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
120
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
121 To merge all Sample*.tsv and generate NewSample.tsv file, type:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
122
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
123 % MergeTextFiles.pl -r NewSample --indelim comma --outdelim tab -o
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
124 Sample*.csv
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
125
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
126 To merge column numbers "1,2" and "3,4,5" from Sample2.csv and
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
127 Sample3.csv into Sample1.csv starting before column number 3 in
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
128 Sample1.csv and to generate NewSample.csv without quoting column data,
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
129 type:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
130
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
131 % MergeTextFiles.pl -s 3 --startcolmode before -r NewSample -q no
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
132 -m colnum -c "all;1,2;3,4,5" -o Sample1.csv Sample2.csv
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
133 Sample3.csv
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
134
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
135 To merge column "Mol_ID,Formula,MolWeight" and "Mol_ID,NAME,ChemBankID"
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
136 from Sample2.csv and Sample3.csv into Sample1.csv using "Mol_ID" as a
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
137 column keys starting after the last column and to generate
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
138 NewSample.tsv, type:
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
139
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
140 % MergeTextFiles.pl -r NewSample --outdelim tab -k "Mol_ID;Mol_ID;
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
141 Mol_ID" -m collabel -c "all;Mol_ID,Formula,MolWeight;Mol_ID,NAME,
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
142 ChemBankID" -o Sample1.csv Sample2.csv Sample3.csv
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
143
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
144 AUTHOR
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
145 Manish Sud <msud@san.rr.com>
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
146
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
147 SEE ALSO
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
148 JoinTextFiles.pl, MergeTextFilesWithSD.pl, ModifyTextFilesFormat.pl,
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
149 SplitTextFiles.pl
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
150
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
151 COPYRIGHT
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
152 Copyright (C) 2015 Manish Sud. All rights reserved.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
153
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
154 This file is part of MayaChemTools.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
155
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
156 MayaChemTools is free software; you can redistribute it and/or modify it
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
157 under the terms of the GNU Lesser General Public License as published by
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
158 the Free Software Foundation; either version 3 of the License, or (at
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
159 your option) any later version.
68300206e90d Uploaded
deepakjadmin
parents:
diff changeset
160