From 51dbb98d239fefceeef56e17504e61397947ba90 Mon Sep 17 00:00:00 2001 From: Travis Harrison Date: Tue, 30 Jun 2015 14:25:41 -0500 Subject: [PATCH 1/2] fix bug in db dump --- src/MGRAST/tools/dump_annotation_for_cass.pl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/MGRAST/tools/dump_annotation_for_cass.pl b/src/MGRAST/tools/dump_annotation_for_cass.pl index 81675dd4..26963867 100755 --- a/src/MGRAST/tools/dump_annotation_for_cass.pl +++ b/src/MGRAST/tools/dump_annotation_for_cass.pl @@ -126,7 +126,7 @@ print STDERR "Dumping protein data ...\n"; foreach my $md5 (@$pmd5s) { - my $data = $dbh->selectall_arrayref("SELECT DISTINCT m._id, s.source, a.id, f.name, o.name FROM md5_protein a INNER JOIN md5s m ON a.md5 = m.md5 LEFT OUTER JOIN functions f ON a.function = f._id LEFT OUTER JOIN organisms_ncbi o ON a.organism = o._id LEFT OUTER JOIN sources s ON a.source = s._id where a.md5='$md5'"); + my $data = $dbh->selectall_arrayref("SELECT DISTINCT m._id, s.name, a.id, f.name, o.name FROM md5_protein a INNER JOIN md5s m ON a.md5 = m.md5 LEFT OUTER JOIN functions f ON a.function = f._id LEFT OUTER JOIN organisms_ncbi o ON a.organism = o._id LEFT OUTER JOIN sources s ON a.source = s._id where a.md5='$md5'"); next unless ($data && @$data); my $mid = $data->[0][0]; my $srcs = {}; @@ -167,7 +167,7 @@ print STDERR "Dumping rna data ...\n"; foreach my $md5 (@$rmd5s) { - my $data = $dbh->selectall_arrayref("SELECT DISTINCT m._id, s.source, a.id, f.name, o.name FROM md5_rna a INNER JOIN md5s m ON a.md5 = m.md5 LEFT OUTER JOIN functions f ON a.function = f._id LEFT OUTER JOIN organisms_ncbi o ON a.organism = o._id LEFT OUTER JOIN sources s ON a.source = s._id where a.md5='$md5'"); + my $data = $dbh->selectall_arrayref("SELECT DISTINCT m._id, s.name, a.id, f.name, o.name FROM md5_rna a INNER JOIN md5s m ON a.md5 = m.md5 LEFT OUTER JOIN functions f ON a.function = f._id LEFT OUTER JOIN organisms_ncbi o ON a.organism = o._id LEFT OUTER JOIN sources s ON a.source = s._id where a.md5='$md5'"); next unless ($data && @$data); my $mid = $data->[0][0]; my $srcs = {}; @@ -208,7 +208,7 @@ print STDERR "Dumping ontology data ...\n"; foreach my $md5 (@$omd5s) { - my $data = $dbh->selectall_arrayref("SELECT DISTINCT m._id, s.source, a.id, f.name FROM md5_ontology a INNER JOIN md5s m ON a.md5 = m.md5 LEFT OUTER JOIN functions f ON a.function = f._id LEFT OUTER JOIN sources s ON a.source = s._id where a.md5='$md5'"); + my $data = $dbh->selectall_arrayref("SELECT DISTINCT m._id, s.name, a.id, f.name FROM md5_ontology a INNER JOIN md5s m ON a.md5 = m.md5 LEFT OUTER JOIN functions f ON a.function = f._id LEFT OUTER JOIN sources s ON a.source = s._id where a.md5='$md5'"); next unless ($data && @$data); my $mid = $data->[0][0]; my $srcs = {}; @@ -228,7 +228,7 @@ $acc =~ s/\"/\\"/g; $fun =~ s/\"/\\"/g; print IDUMP join(",", map { '"'.$_.'"' } ($mid, $src, $md5, "true", "", "[]", $acc, $fun, ""))."\n"; - print MDUMP join(",", map { '"'.$_.'"' } ($md5, $src, "true", "", "[]", $acc, $fun. ""))."\n"; + print MDUMP join(",", map { '"'.$_.'"' } ($md5, $src, "true", "", "[]", $acc, $fun, ""))."\n"; } } From 8d7dbc9dcbd53cf55dbc127296a05576c45f1a27 Mon Sep 17 00:00:00 2001 From: Travis Harrison Date: Tue, 30 Jun 2015 14:26:02 -0500 Subject: [PATCH 2/2] add bulkload dependency --- src/MGRAST/tools/BulkLoader/BulkLoader.sh | 7 ++----- src/MGRAST/tools/BulkLoader/opencsv-3.4.jar | Bin 0 -> 33908 bytes 2 files changed, 2 insertions(+), 5 deletions(-) create mode 100644 src/MGRAST/tools/BulkLoader/opencsv-3.4.jar diff --git a/src/MGRAST/tools/BulkLoader/BulkLoader.sh b/src/MGRAST/tools/BulkLoader/BulkLoader.sh index fc5f362d..5c01c4e2 100755 --- a/src/MGRAST/tools/BulkLoader/BulkLoader.sh +++ b/src/MGRAST/tools/BulkLoader/BulkLoader.sh @@ -6,7 +6,7 @@ TABLE='' INFILE='' OUTDIR='' JAVA=`which java` -JARS="/root/cassandra/lib /root/opencsv" +JARS="/root/cassandra/lib/*" while getopts hk:t:i:o: option; do case "${option}" @@ -46,10 +46,7 @@ if [ -z "$CASSANDRA_CONFIG" ]; then fi # set classpath -CLASSPATH=".:$CASSANDRA_CONFIG" -for path in $JARS; do - CLASSPATH="$CLASSPATH:$path/*" -done +CLASSPATH=".:$CASSANDRA_CONFIG:$JARS" # Compile echo "compile: javac -cp $CLASSPATH BulkLoader.java" diff --git a/src/MGRAST/tools/BulkLoader/opencsv-3.4.jar b/src/MGRAST/tools/BulkLoader/opencsv-3.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..2b1edc9e4ecddb542143a99ac50c2c2b200bbcc3 GIT binary patch literal 33908 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 literal 0 HcmV?d00001