Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • cfankep/psotdb
  • SOaAS/psotdb
2 results
Show changes
Showing
with 72 additions and 110 deletions
#!/bin/bash
LOCAL_DATABASE_DIRECTORY=$1
cd $LOCAL_DATABASE_DIRECTORY
wget --content-disposition https://card.mcmaster.ca/latest/data
tar xfa card-data.tar.bz2
rm card-data.tar.bz2
cd -
\ No newline at end of file
#!/bin/bash
DOWNLOAD_DIR=$1
LOCAL_DATABASE_DIRECTORY=$1
cd $DOWNLOAD_DIR
cd $LOCAL_DATABASE_DIRECTORY
wget ftp://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.hmm.gz
gunzip Pfam-A.hmm.gz
cd -
\ No newline at end of file
#!/bin/bash
DOWNLOAD_DIR=$1
LOCAL_DATABASE_DIRECTORY=$1
cd $DOWNLOAD_DIR
cd $LOCAL_DATABASE_DIRECTORY
wget ftp://ftp.uniprot.org/pub/databases/uniprot/knowledgebase/uniprot_sprot.fasta.gz
gunzip uniprot_sprot.fasta.gz
cd -
\ No newline at end of file
#!/bin/bash
LOCAL_DATABASE_DIRECTORY=$1
DATABASE_TARFILE=$2
DATABASE_DIRECTORY=$3
REMOTE_DATABASE_DIRECTORY=$4
cd $LOCAL_DATABASE_DIRECTORY
tar -czvf $DATABASE_TARFILE $DATABASE_DIRECTORY
s3cmd put $DATABASE_TARFILE $REMOTE_DATABASE_DIRECTORY
rm $DATABASE_TARFILE
cd -
\ No newline at end of file
#!/bin/bash
LOCAL_DATABASE_DIRECTORY=$1
LOCAL_FILE=$2
REMOTE_DATABASE_DIRECTORY=$3
cd $LOCAL_DATABASE_DIRECTORY
s3cmd put $LOCAL_FILE $REMOTE_DATABASE_DIRECTORY
cd -
\ No newline at end of file
#!/bin/bash
Target_file=$1
Target_dir=$2
s3cmd get $Target_file $Target_dir
#!/bin/bash
DOWNLOAD_DIR=$1
cd $DOWNLOAD_DIR
ghostx db -i uniprot_sprot.fasta -o sp_ghost
tar -czf sp_gx.tar.gz sp_ghost*
rm uniprot_sprot*
rm sp_ghost*
cd -
\ No newline at end of file
[{"name": "swissprot", "tool": "blast", "version": "2019_06", "created": "2019-07-29"}, {"name": "card", "tool": "raw", "version": "3.0.3", "created": "2019-08-19"}, {"name": "card", "tool": "ghostx", "version": "3.0.3", "created": "2019-08-19"}]
\ No newline at end of file
File added
File added
File added
#!/home/theia/conda/bin/python
import argparse
import subprocess
data={'swissprot':{'download':'./download_swissprot.sh','blast':'./blast_swissprot.sh','ghostx':'./ghostx_swissprot.sh'},'pfam':{'download':'./download_pfam.sh'}}
def myparser():
parser=argparse.ArgumentParser(description='Download, convert and share the data to working computer',prog='PSOT_database_maker')
subparsers=parser.add_subparsers(title='Subcommands',description='Authorized Subcommands',help='Additional help')
prepare_parser=subparsers.add_parser('prepare',help='Databank download from the Website, extraction and transformation for another Programm')
prepare_parser.add_argument('database',help='Database which have to be prepared',type=str)
prepare_parser.add_argument('-t','--tool',help='Programm/Tool for the post analysis',type=str,)
prepare_parser.add_argument('-o','--output',default='./output',help='target directory for the output.Default will be a created("output") folder in the working directory',type=str)
prepare_parser.set_defaults(func=prepare)
upload_parser=subparsers.add_parser('upload',help='Databank copy from the local directory to the web storage')
upload_parser.add_argument('file',help='File to be transfered from the local directory',type=str)
upload_parser.add_argument('-d','--directory',default='s3://db_storage',help='Target directory for the file transfer into "S3". Default will be "s3://db_storage"',type=str)
upload_parser.set_defaults(func=upload)
download_parser=subparsers.add_parser('download',help='Datenbank copy from the web storage to the working computer')
download_parser.add_argument('file',help='File to be transfered from "S3"',type=str)
download_parser.add_argument('-d','--directory',default='./output',help='Target directory for the file transfer. Default will be a created folder("output) in the current working directory',type=str)
download_parser.set_defaults(func=download)
return parser.parse_args()
def prepare(args):
file_down=subprocess.run([data[args.database]['download'],args.output])
if args.tool:
file_tool=subprocess.run([data[args.database][args.tool],args.output])
def upload(args):
file_up=subprocess.run(['./upload_db.sh',args.file,args.directory])
def download(args):
file_down=subprocess.run(['./download_db.sh',args.file,args.directory])
def main():
subprocess.run(['./make_directory.sh'])
args=myparser()
args.func(args)
if __name__=='__main__':
main()
\ No newline at end of file
#!/bin/bash
mkdir -p output
\ No newline at end of file
wget
\ No newline at end of file
[metadata]
name = dbman
author = Rudel Fankep
author-email = Rudel.C.NKouamedjo-fankep@bio.uni-giessen.de
description = Download, convert and upload databases to cloud server
description-file = README.rst
project_urls =
Source Code = https://git.computational.bio.uni-giessen.de/cfankep/psotdb.git
keywords = tools, databases
license = MIT
[files]
packages =
dbman
[entry_points]
console_scripts =
dbman = dbman.main:main
from setuptools import setup
# this is only necessary when not using setuptools/distribute
from sphinx.setup_command import BuildDoc
cmdclass = {'build_sphinx': BuildDoc}
setup(
setup_requires=['pbr'],
pbr=True,
package_data={'dbman' : ['scripts/*']}
)
#!/usr/bin/env python
import pkg_resources
print(pkg_resources.resource_filename(__name__, "blast_db.sh"))
Dbxref Quellcode, evtl. als Vorlage nutzbar: https://git.computational.bio.uni-giessen.de/SOaAS/dbxref/tree/master/dbxref
Beschreibung:
Database repository---> https://github.com/MGX-metagenomics/databases/blob/master/card.build
Das Protein Sequence Observation Tool integriert diverse bioinformatische Tools zur Anreicherung von Informationen zu Proteinen und normalisiert diese in das JSON Format, sodass die Informationen einfach von weiteren Programmen weiterverarbeitet werden können. In dieser Arbeit soll der ein Hilfsprogramm geschrieben werden, dass von PSOT benötigte Datenbanken vorbereitet und zur Verfügung stellt. Für einzelne Datenbanken gibt es bereits Skripte zur Installation und Aufbereitung. Diese Skripte sollen in einer Anwendung systematisch zusammen geführt und über eine einfach zu nutzende Kommandozeilenschnittstelle nutzbar gemacht werden. Vorraussetzung sind der Umgang mit der Linux Kommandozeile und solide Kenntnisse in Python 3.
anzeigen lassen---> echo $VARIABLE
löschen---> unset VARIABLE
setzen---> export VARIABLE = pfad
1-setup.py
2-dbman verzeichnis
3- __init__.py in dbman
Stories:
pip install git+https://git.computational.bio.uni-giessen.de/cfankep/psotdb.git
Verschiedene Rollen:
PSOT Entwickler
PSOT Nutzer
. Der PSOT Entwickler benötigt eine neue Datenbank für sein verteiltes Programm. Er schreibt einmalig ein Script das die Datenbank bezieht (herunterlädt) und eins um die Datenbank für seine Anwendung vorzubereiten. Diese Skripte werden im db Tool hinterlegt und stehen damit allen unter einem definierten Namen (z.B. der Datenbankname und für welches Programm es aufbereitet wurde) zur Verfügung.
. Der PSOT Entwickler hat seine Datenbank vorbereitet und möchte sie jetzt in seiner verteilten Anwendung allen Knoten zur Verfügung stellen. Dazu konfiguriert er das db Tool mit seinem S3 Cloud Speicher und beauftragt es damit die grade erstellte Datenbank dorthin hochzuladen. Die Daten werden komprimiert im Cloud Speicher abgelegt. Auf den Knoten beauftragt er das db Tool die Daten herunterzuladen und an die gewünschte Stelle zu entpacken.
. Der PSOT Nutzer möchte wissen welche Datenbanken in dem öffentlichen Repository liegen. Dazu ruft er das db tool auf und es listet alle verfügbaren Datenbanken auf.
. Das db Tool prüft ob eine bestimmte Datenbank verfügbar ist, damit es diese nicht erneut herunterladen muss.
. Der Nutzer möchte wissen an welcher Stelle im System eine Datenbank für ein bestimmtes Tool abgelegt ist. Er ruft das db tool mit der Datenbank und dem Tool auf und erhält den Pfad zurück.
Beispielaufrufe:
dbman prepare "UniprotKB/swiss-prot" "ghostx"
dbman upload "UniprotKB/swiss-prot" "ghostx"
dbman download "UniprotKB/swiss-prot" "ghostx"
dbman location "UniprotKB/swiss-prot" "ghostx"
dbman list database recipes
dbman list local databases
dbman list remote databases
Beispieldatenbanken:
swissprot
trembl
eggnog
pfam
card
Evtl. kann auch biomaj für das Problem genutzt werden: https://biomaj.genouest.org/
list_remote_databases
\ No newline at end of file
#!/bin/bash
Target_file=$1
Target_dir=$2
s3cmd put $Target_file $Target_dir