Code Monkey home page Code Monkey logo

ferret's Introduction

Ferret

Java Version Gradle Version Javadoc Release License

A user-friendly tool to extract data from the 1000 Genomes Project.


Contents


Features

  • Query the 1000 Genomes project server:
    • By locus directly, or by gene/SNP (locus information retrieved from NCBI)
    • From a selection of populations worldwide
  • Generate a selection of the following files:
    • .ped: The PLINK/MERLIN/Haploview text pedigree + genotype table file.
    • .map: The PLINK text fileset variant information file, usually used with a .ped file.
    • .info: The Haploview map file, usually used with a .ped file.
    • .frq: The allele frequency report file.

Getting Started

As a portable, self-contained .jar executable, no installation is required to build or use Ferret as long as you have the latest JDK (v17 as of March 2022) installed.

Prebuilt Executable

  • Download the .jar from the releases page.

Build From Source

  • To try out this application, just execute:

    ./gradlew run
  • To build a fat .jar executable under ./build/libs:

    ./gradlew jar

Uninstallation

No explicit uninstallation process is required.

However, it might be useful to delete the cache folder at ~/.config/ferret.

References

Ferret v3 wouldn't be possible without the previous PAPPL projects of our classmates:

How to add a new phase

Add the sample (population) data

In the sample folder add a new phase file (see existing phase files). Only the 3 first columns are needed, and reference it in the phaseList.txt file (in the same folder) : the first column is the name of the phase, the second column specify how the phase will be displayed in the interface (in the settings frame), and the third column is the name of the phase file.
The columns must be separated with a ":". The third column is optional: if you don't specify it, the corresponding phase will be displayed as disabled in the setting frame. It can be useful to add a phase before having the phase file, or the 1kg information (but its interest is limited).

Add the 1kg path and filename template

Finally, you must add the path and the filename template of the phase in the server.properties file (1kg.phasename.path & 1kg.phasename.filename). The filename is a template because it changes for each chromosome. All "{0}" part in the filename are replaced by the chromosome during the execution of Ferret.

ferret's People

Contributors

bluecloud02 avatar dependabot[bot] avatar jean-tissot avatar nartrack avatar rami3l avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ferret's Issues

generate jar

le jar ne se génère pas

erreur avec la librairie de configuration persistente. il faut probablement ajouter quelque chose au classpath

java.lang.NoClassDefFoundError: org/spongepowered/configurate/ConfigurateException at fr.ferret.view.FerretFrame.(FerretFrame.java:46)

Exception lors de la sélection d'un fichier sans nom

  • Si l'explorateur de fichiers permet de valider le choix d'un fichier sans donner de nom à celui-ci (en particulier sous Windows), une erreur de type NullPointerException est levée et non catchée
  • Pour corriger cette erreur il faudrait effectuer une vérification supplémentaire dans Ferret. Idéalement il faudrait en plus trouver un moyen d'inidiquer à l'explorateur de fichier qu'un nom doit obligatoirement être spécifié
  • Pour reproduire cette erreur, lancez Ferret, effectuez une saisie valide dans le LocusPanel, puis lors du choix d'enregistrement du fichier validez sans donner de nom (si votre explorateur de fichier le permet)

Too big inputed numbers are considered as negative ones

  • How to reproduce: in the locus panel, enter a little number for start position (5 for exemple) and a big number in the end position. When running Ferret, a message will popup saying that the start position must be lower than the end position.
  • How to fix: I think it's because the number is an int and not a long, so when the number is greater than the max int, it is considered as negative

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.