Skip to content

genpat-it/cohesive-bioinfotools2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GenPat BioInfoTools2

License: MIT

A Spring Boot application for importing and managing bioinformatics data into the GenPat platform.

Overview

BioInfoTools2 is a command-line tool designed to import various types of bioinformatics data:

  • Sample uploads from sequencing facilities
  • Pipeline analysis results
  • NCBI reference sequences

The application integrates with the GenPat database (CMDBuild) and manages relationships between samples, analyses, and reference data.

Features

  • Upload Import: Import sample data from BIOINFONAS source
  • Pipeline Results: Import analysis results with support for various file formats
  • NCBI References: Import and manage reference sequences from NCBI
  • Hashed Analysis: Support for specific analysis types (rawreads, import)
  • Database Integration: PostgreSQL integration with CMDBuild
  • Configuration: External configuration file support for flexible deployment

Prerequisites

  • Java 8 or higher
  • Maven 3.x
  • PostgreSQL database (CMDBuild instance)
  • Access to bioinformatics data sources

Installation

  1. Clone this repository:

    git clone https://github.com/genpat-it/cohesive-bioinfotools2.git
    cd cohesive-bioinfotools2
  2. Build the JAR file:

    mvn clean package

    The JAR file will be generated at: target/bioinfotools2.jar

Configuration

Application Configuration

Create a configuration file /conf/bit2.yml with the following structure:

app:
  sample-folder: /path/to/samples
  hashed-analysis: [ '0SQ_rawreads', '2AS_import' ]
  file-server: 'server-address'
  reference:
    source: NCBI
    material: N1052G
    alias-type: REF
    data-provider: ALL
    sample-relation: REF_NCBI
  upload:
    source: BIOINFONAS
  config-file: /conf/bit2.json

db:
  address: localhost:5432
  password: your-database-password
  username: your-database-username

Additional Configuration

Create /conf/bit2.json for additional application-specific settings.

Usage

Run the application with:

java -jar target/bioinfotools2.jar [options]

Import Uploads

java -jar bioinfotools2.jar --import-uploads --source BIOINFONAS

Import Pipeline Results

java -jar bioinfotools2.jar --import-results --pipeline-path /path/to/results

Import NCBI References

java -jar bioinfotools2.jar --import-references --source NCBI

Project Structure

bioinfotools2/
├── src/
│   └── main/
│       ├── java/
│       │   └── it/izs/bioinfo/bit2/
│       │       ├── ApplicationConfiguration.java
│       │       ├── ImportApp.java
│       │       ├── Parameters.java
│       │       └── model/
│       │           ├── analysis/
│       │           ├── genpat/
│       │           └── qc/
│       └── resources/
│           └── application.yml
├── pom.xml
├── LICENSE
└── README.md

Dependencies

  • Spring Boot 2.7.18
  • Spring Data JDBC
  • PostgreSQL Driver
  • OpenCSV
  • Lombok
  • Hibernate Validator
  • Commons Codec
  • JSON Library

Database Schema

The application expects a CMDBuild PostgreSQL database with the following main entities:

  • Samples
  • Analyses
  • References
  • Uploads
  • Quality Control data

Security Notes

  • Database credentials should be stored in external configuration files
  • Never commit configuration files with credentials to version control
  • Use environment variables or secure vaults for production deployments

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Contact

For questions or support, please contact: cohesive@izs.it

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages