Skip to content

Commit

Permalink
initial commit as open-source software
Browse files Browse the repository at this point in the history
  • Loading branch information
pgdurand committed Oct 16, 2016
0 parents commit 9721a9b
Show file tree
Hide file tree
Showing 188 changed files with 29,217 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.classpath
.project
.settings
/distrib
/lib
/bin
**/.DS_Store
661 changes: 661 additions & 0 deletions LICENSE.txt

Large diffs are not rendered by default.

31 changes: 31 additions & 0 deletions NOTICE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
This product includes software developed by:

The Plealog Team (http://www.plealog.com)
Plealog license is here: http://www.apache.org/licenses/LICENSE-2.0
It targets: jgaf
Plealog license is here: https://www.gnu.org/licenses/agpl-3.0.txt
It targets: pb-core, pb-ui, pb-filter, pb-filter-ui, pb-seqvertor, hge

The Apache Software Foundation (http://www.apache.org/)
Apache license is here: http://www.apache.org/licenses/LICENSE-2.0
It targets: commons-io, commons-lang, commons-logging, xerces, xmlParser

The Castor Framework Team (http://castor-data-binding.github.io/castor)
Castor license is here: http://castor-data-binding.github.io/castor/about/licenses.html
It targets: castor-xml

The XStream Framework Team (http://x-stream.github.io/):
XStream License is here: http://x-stream.github.io/license.html
It targets: xstream

The JGoodies Forms Framework Team (http://www.jgoodies.com/freeware/libraries/forms/).
JGoodies license is here: https://opensource.org/licenses/bsd-license.html
It targets: forms

The Biojava Team (http://biojava.org)
Biojava license is here: http://www.gnu.org/copyleft/lesser.html
It targets: biojava

The JMol Team (http://jmol.sourceforge.net/)
JMol license is here: https://opensource.org/licenses/LGPL-2.1
It targets: JMol
104 changes: 104 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#BioDocumentViewer

[![License](https://img.shields.io/badge/license-Affero%20GPL%203.0-blue.svg)](https://www.gnu.org/licenses/agpl-3.0.txt)

##Introduction

BioDocumentViewer is a software enabling to query, browse, fetch and retrieve sequences from NCBI and EBI public servers.

The software has been made to facilitate the use of public web services so that it is easy to retrieve set of sequences in batch mode.

BioDocumentViewer also provides you with viewing capabilities to display annotated sequences and 3D structures.

##Requirements

Use a [Java Virtual Machine](http://www.oracle.com/technetwork/java/javase/downloads/index.html) 1.7 (or above) from Oracle.

*Not tested with any other JVM providers but Oracle... so there is no guarantee that the software will work as expected if not using Oracle's JVM.*

##Working with the binary release

The most easy way to use BioDocViewer Tool consists in downloading an official release. It is made of a single Java binary archive file:

biodocviewer-x.y.z.jar

It is available from this Github page: check [Releases] tab and download the latest release.

We invite all users to start working with that tool, as explained in the next section.

*Notice for developers:* this unique JAR file is absolutely not intended to be embedded within any other applications since it contains all the dependencies (third-party libraries) into a single large file. So, if you want to include BioDocViewer into some other softwares, start from its source code (git clone).

##User manual

###Start the graphical interface

After retrieving an official release of the BioDocumentViewer (BDV) software (see above section), you can start it quite easily:

java -jar biodocviewer-x.y.z.jar

By default, BDV uses [NCBI Entrez eUtils services](https://www.ncbi.nlm.nih.gov/books/NBK25499/) (NCBI, Bethesda, USA) to let you query and retrieve protein and nucleotide sequences, 3D structures and taxonomy information.

However, you can also ask BDV to use [EB-eye Search services](https://www.ebi.ac.uk/ebisearch/) (EBI, Hinxton, UK) as follows:

java -DV_PROVIDER=EBI -jar biodocviewer-x.y.z.jar

JVM argument "V_PROVIDER" accepts one of: NCBI (default) or EBI.

###Make and run a query

Whatever the data provider you use, NCBI or EBI, the software is quite easy to use:

* select a bank to query
* click on the [Go...] button
* setup the criteria in the query dialogue box
* click on the [Ok] button... and wait a little bit to get an answer from the provider

The DocumentNavigator is displayed as soon as you get a valid answer from the bank provider, i.e. your query matches some entries.

Use the DocumentNavigator:

* to navigate through entries; use [<] [>] buttons the the top right corner
* to display an entry in the Sequence or 3D Structure viewer
* to fetch entries as Fasta of plain format (e.g. Genbk, EMBL, Uniprot, etc.)

###NCBI/EBI recommendations

**BDV strictly respects the recommendations of NCBI and EBI for the use or their public resources**, especially when retrieving sequences in batch mode.

Basically:

* keep in mind that you are using resources that are shared by many users around the world
* do not overload NCBI/EBI remote serves
* retrieve sequences in batch mode using timers
* provide your email address: NCBI or EBI can get in touch with you in case they consider your are querying too much remote services.

More about these recommendations: [here for NCBI](https://www.ncbi.nlm.nih.gov/home/about/policies.shtml#scripting), [here for EBI](http://www.ebi.ac.uk/Tools/webservices/help/faq).

###Extended configuration

BDV accepts the following optional JVM arguments on the command line:

* V_DEBUG. Accepts one of: true, false. Default is false.
* V_PROVIDER. Accepts one of: NCBI, EBI. Default is NCBI.
* V_EMAIL. Your email address; see "NCBI/EBI recommendations" section, above. Default is none, so BDV will ask you that information at runtime, the first time you use the software.

You use all these arguments as follows:

java -DV_PROVIDER=EBI -DV_DEBUG=true ... -jar biodocviewer-x.y.z.jar

###Log viewer

BDV uses a logging framework to monitor the software... this can be quite useful when you experience NCBI/EBI connections failure.

To access the log messages, simply click on the little icon located on the top right corner of BDV main frame, next to [Documents] pulldown menu.

By default, BDV uses "info" log level, which does not provide much messages. However, you are advised to start BDV with "-DV_DEBUG=true" to get more log messages, which can help to diagnose problems.

##License and dependencies

BioDocViewer itself is released under the GNU Affero General Public License, Version 3.0. [AGPL](https://www.gnu.org/licenses/agpl-3.0.txt)

BioDocViewer depends on several thrid-party libraries as stated in the NOTICE.txt file provided with this project.

--
(c) 2007-2016 - Patrick G. Durand
100 changes: 100 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>

<!-- ============================================================= -->
<project name="Document Viewer Tool" default="help" basedir=".">

<property file="${basedir}/src/bzh/plealog/bioinfo/docviewer/ui/version.properties"/>

<property name="pbc.libName" value="${prg.name}" />
<property name="pbc.LibVersion" value="${prg.version}" />

<property name="compile.optimize" value="on" />
<property name="compile.debug" value="off" />

<property name="src" value="${basedir}/src" />
<property name="jar" value="${basedir}/jar" />

<property name="distrib" value="${basedir}/distrib" />
<property name="Dlib" value="${distrib}/lib" />
<property name="Dsrc" value="${distrib}/src" />
<property name="Ddoc" value="${distrib}/doc" />
<property name="Ddoc.api" value="${Ddoc}/api" />

<property name="pbc.libJar" value="${distrib}/${pbc.libName}-${pbc.LibVersion}.jar"/>

<path id="class.path">
<pathelement path="${classpath}"/>
<fileset dir="${jar}">
<include name="**/*.jar"/>
</fileset>
<pathelement location="${Dlib}"/>
</path>

<!-- ============================================================= -->
<target name="help">
<echo>Ant task to handle Document Viewer Tool project.</echo>
<echo/>
<echo> compile: compile the code.</echo>
<echo> makedistrib: compile and make release JAR of the DocViewer system.</echo>
</target>

<!-- ============================================================= -->
<target name="prepare">
<delete dir="${distrib}"/>
<mkdir dir="${Dlib}"/>
<mkdir dir="${Dsrc}"/>
<mkdir dir="${Ddoc.api}"/>
</target>

<!-- ============================================================= -->
<target name="compile" depends="prepare">
<copy todir="${Dsrc}">
<fileset dir="${src}">
<include name="bzh/plealog/bioinfo/**"/>
</fileset>
</copy>
<javac srcdir="${Dsrc}"
destdir="${Dlib}"
classpathref="class.path"
debug="${compile.debug}"
optimize="${compile.optimize}"
>
</javac>
<copy todir="${Dlib}/bzh/plealog/bioinfo/">
<fileset dir="${Dsrc}/bzh/plealog/bioinfo/">
<include name="**/*properties"/>
<include name="**/*messages"/>
<include name="**/*cfg"/>
<include name="**/*gif"/>
<include name="**/*png"/>
</fileset>
</copy>
</target>

<!-- ============================================================= -->
<target name="makedistrib" depends="compile" >
<jar destfile="${pbc.libJar}">
<fileset dir="${Dlib}">
<include name="bzh/plealog/bioinfo/**"/>
</fileset>
<restrict>
<name name="**/*"/>
<archives>
<zips>
<fileset dir="jar" includes="**/*.jar"/>
</zips>
</archives>
</restrict>
<manifest>
<attribute name="Main-Class" value="bzh.plealog.bioinfo.docviewer.DocumentViewer"/>
<attribute name="Built-By" value="Patrick G. Durand"/>
<attribute name="Title" value="${prg.name}"/>
<attribute name="Version" value="${prg.version}"/>
</manifest>
</jar>
<jar destfile="${pbc.libJar}" update="true">
<zipfileset dir="${basedir}" includes="*.txt"/>
</jar>
</target>

</project>
3 changes: 3 additions & 0 deletions conf/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
You can place here ncbiQuery.cfg and/or ebiQuery.cfg.

Then start application using JVM argument: -DDV_CONF=./conf
Loading

0 comments on commit 9721a9b

Please sign in to comment.