Skip to content

Commit

Permalink
1.0.5:
Browse files Browse the repository at this point in the history
	Updated Makefiles to account for different make environments.
  • Loading branch information
lingfeiwang committed Dec 7, 2017
1 parent 7b16e65 commit 48917a1
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 23 deletions.
32 changes: 16 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ URL_BIN_REL="$(URL_BIN)/releases"
URL_R_REL="$(URL_R)/releases"
VERSION1=1
VERSION2=0
VERSION3=3
VERSION3=5
LICENSE=AGPL-3
LICENSE_FULL="GNU Affero General Public License, Version 3"
LICENSE_URL="https://www.gnu.org/licenses/agpl-3.0"
Expand Down Expand Up @@ -106,7 +106,7 @@ distclean: clean

install-lib: SHELL:=/bin/bash
install-lib: all
@umask 0022 && mkdir -p $(DIR_INSTALL_LIB) && \
umask 0022 && mkdir -p $(DIR_INSTALL_LIB) && \
cp $(LIB_DPRODUCT) $(DIR_INSTALL_LIB)/ && \
chmod 0755 $(DIR_INSTALL_LIB)/$(notdir $(LIB_DPRODUCT)) && \
if [ "$$(uname)" == "Linux" ]; then \
Expand All @@ -120,12 +120,12 @@ install-lib: all

install-inc: SHELL:=/bin/bash
install-inc: $(LIB_CONFIG)
@umask 0022 && mkdir -p $(DIR_INSTALL_INC) && \
umask 0022 && mkdir -p $(DIR_INSTALL_INC) && \
for dname in $(INC_INSTALL_DIRS); do \
mkdir -p $(DIR_INSTALL_INC)/$$dname || exit 1; \
done
# Then Files
@umask 0022 && for fname in $(INC_INSTALL_FILES); do \
umask 0022 && for fname in $(INC_INSTALL_FILES); do \
cp $$fname $(DIR_INSTALL_INC)/$$fname || exit 1; \
chmod 0644 $(DIR_INSTALL_INC)/$$fname || exit 1; \
done
Expand All @@ -138,35 +138,35 @@ uninstall:
TMP_FILE=.tmp
Makefile.flags:
@echo "Testing gcc"
@$(CC) --version &> /dev/null || ( echo "GCC not found. Please download the latest GCC or specify its location in CC variable in Makefile."; exit 1; )
@gver=$$($(CC) --version) ; \
if ! $(CC) --version > /dev/null 2>&1; then echo "GCC not found. Please download the latest GCC or specify its location in CC variable in Makefile."; exit 1; fi
gver="$$($(CC) --version)"; \
t1=$$(echo "$$gver" | grep -io gcc); \
if ! [ -n "$$t1" ]; then echo "Invalid GCC version. Please download the latest GCC."; exit 1; fi
@cflags="$(CFLAGS) $(CFLAGS_EXTRA) $(CFLAGSI) -fopenmp -ggdb -fPIC -Wall -Wextra -Wconversion -Wsign-conversion -Wundef -Wendif-labels -std=c99 -pedantic-errors $(OPTFLAGS)"; \
cflags="$(CFLAGS) $(CFLAGS_EXTRA) $(CFLAGSI) -fopenmp -ggdb -fPIC -Wall -Wextra -Wconversion -Wsign-conversion -Wundef -Wendif-labels -std=c99 -pedantic-errors $(OPTFLAGS)"; \
ldflags="$(LDFLAGS) $(LDFLAGS_EXTRA) -L $(PREFIX)/lib -L /usr/local/lib -L /usr/lib -fopenmp -lm -shared -lc"; \
echo "Testing test method"; \
$(LD) $$ldflags -o $(TMP_FILE) &> /dev/null || \
( echo "Linking with default flags failed."; exit 1; ) ; \
if ! $(LD) $$ldflags -o $(TMP_FILE) > /dev/null 2>&1; then \
echo "Linking with default flags failed."; exit 1; fi; \
echo "Testing gfortran"; \
$(LD) $$ldflags -lgfortran -o $(TMP_FILE) &> /dev/null && \
$(LD) $$ldflags -lgfortran -o $(TMP_FILE) > /dev/null 2>&1 && \
ldflags="$$ldflags -lgfortran"; \
echo "Testing local GSL" ; \
if [ -n "$(DIR_SRC_GSL)" ] ; then \
echo "Testing -Wl,--whole-archive" ; \
ldflags2="$(DIR_SRC_GSL)/.libs/libgsl.a $(DIR_SRC_GSL)/cblas/.libs/libgslcblas.a"; \
$(LD) $$ldflags "-Wl,--whole-archive $$ldflags2 -Wl,--no-whole-archive" --shared -o $(TMP_FILE) &> /dev/null && \
$(LD) $$ldflags "-Wl,--whole-archive $$ldflags2 -Wl,--no-whole-archive" --shared -o $(TMP_FILE) > /dev/null 2>&1 && \
ldflags2="-Wl,--whole-archive $$ldflags2 -Wl,--no-whole-archive"; \
$(LD) $$ldflags $$ldflags2 --shared -o $(TMP_FILE) &> /dev/null || \
( echo "Can't link to embedded GSL with right flag." ; exit 1; ); \
if ! $(LD) $$ldflags $$ldflags2 --shared -o $(TMP_FILE) > /dev/null 2>&1; then \
echo "Can't link to embedded GSL with right flag." ; exit 1; fi; \
cflags="-I $(DIR_SRC_GSL) $$cflags" ; \
ldflags="$$ldflags $$ldflags2" ; \
else \
ldflags="$$ldflags -lgsl -lgslcblas"; \
$(LD) $$ldflags --shared -o $(TMP_FILE) &> /dev/null || \
( echo "Link to installed GSL failed."; exit 1; ) ;\
if ! $(LD) $$ldflags --shared -o $(TMP_FILE) > /dev/null 2>&1; then \
echo "Link to installed GSL failed."; exit 1; fi; \
fi ; \
echo "Testing -Wl,--no-as-needed" ; \
$(LD) -Wl,--no-as-needed $$ldflags --shared -o $(TMP_FILE) &> /dev/null && \
$(LD) -Wl,--no-as-needed $$ldflags --shared -o $(TMP_FILE) > /dev/null 2>&1 && \
ldflags="-Wl,--no-as-needed $$ldflags"; \
echo "CFLAGS=$$cflags" > $@ && \
echo "LDFLAGS=$$ldflags" >> $@ && \
Expand Down
15 changes: 8 additions & 7 deletions README
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
Findr (Fast Inference of Networks from Directed Regulations) is a statistical inference tool for genetics. It predicts the probability of pairwise gene regulation probability based on gene expression level data. When genotype data is available for the best eQTLs, higher prediction accuracy can be achieved. The pairwise regulation probability is then applied for the reconstruction of gene regulation networks.

Findr obtains much higher accuracy and faster speed than existing programs [1]. This is due to the analytical and implementational advances. Findr library can be downloaded from [2].
Findr obtains much higher accuracy and faster speed than existing programs [1]. This is due to the analytical and implementational advances. Findr's unprecedented speed allows for whole-transcriptome causal network reconstruction, with a tutorial in [2]. Findr library can be downloaded from [3].

This package is the C implementation of Findr library. It requires recent builds of GCC, GNU make, and GNU Scientific Library (GSL). Users can use the provided binary and python interfaces, or R package to interact with Findr library to perform calculations, or write one's own program and call Findr. The binary, python, and R entry points can be downloaded from [3], [4], [5] respectively. On Windows, we recommend building and running Findr on "Bash on Windows" [6], rather than building everything natively from scratch.
This package is the C implementation of Findr library. It requires recent builds of GCC, GNU make, and GNU Scientific Library (GSL). Users can use the provided binary and python interfaces, or R package to interact with Findr library to perform calculations, or write one's own program and call Findr. The binary, python, and R entry points can be downloaded from [4], [5], [6] respectively. On Windows, we recommend building and running Findr on "Bash on Windows" [7], rather than building everything natively from scratch.

A more detailed documentation of Findr can be found as doc.pdf.

[1] Lingfei Wang and Tom Michoel (2017) Efficient and accurate causal inference with hidden confounders from genome-transcriptome variation data. PLOS Computational Biology 13(8): e1005703. https://doi.org/10.1371/journal.pcbi.1005703
[2] https://github.com/lingfeiwang/findr
[3] https://github.com/lingfeiwang/findr-bin
[4] https://github.com/lingfeiwang/findr-python
[5] https://github.com/lingfeiwang/findr-R
[6] https://msdn.microsoft.com/commandline/wsl/about
[2] Lingfei Wang and Tom Michoel (2017) Whole-transcriptome causal network inference with genomic and transcriptomic data. bioRxiv 213371. https://doi.org/10.1101/213371
[3] https://github.com/lingfeiwang/findr
[4] https://github.com/lingfeiwang/findr-bin
[5] https://github.com/lingfeiwang/findr-python
[6] https://github.com/lingfeiwang/findr-R
[7] https://msdn.microsoft.com/commandline/wsl/about
2 changes: 2 additions & 0 deletions UPDATES
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
1.0.5:
Updated Makefiles to account for different make environments.
1.0.1:
Bug correction:
Updated LDFLAGS for R interface.
Expand Down
Binary file modified doc.pdf
Binary file not shown.

0 comments on commit 48917a1

Please sign in to comment.