Package release: lncRScan-DNN (version 0.1, Jul 23 2018)
Author: Sun Lei, Liu Shanshan
Email: leisuncumt(at)yahoo.com
Description: lncRScan-DNN is a python package for lncRNA prediction.
Licence: lncRScan-DNN is distributed under the GNU GENERAL PUBLIC (GPL) licence.
For other programs used in lncRScan-DNN, please refer to the licences in LICENCE folder.
Copyright (C) 2018 Yangzhou University
----------------------------------------------------------------
Contents
--------
1. Introduction
2. Package components
3. Installation
4. Script Usage
5. Examples
1. Introduction
---------------
lncRScan-DNN is a python package for predicting long non-coding RNAs (lncRNAs) or
protein coding transcripts using deep neural network (DNN). It depends on several
third-part programs, such as h2o, txCdsPredict, kPAL, Python, BioPython, Numpy and Pandas.
2. Package components
---------------------
--README.rst (some instructions)
--ChangeLog (records of version changes)
--MANIFEST.in
--bin (several command line scripts of lncRScan-DNN)
--features.py (to extract several features from sequences in FASTA format)
--de_redundancy.py (de-redundant the feature datasets based on the entropy of the k-mer pattern information)
--predictor.py (to predict lncRNAs or mRNAs, given a feature file in csv format)
--predictor_fa (to conduct feature extraction, de-redundancy and lncRNA prediction, given a FASTA file)
Note: make sure all files in this folder are executable by using '$ chmod +x filename'.
--lncrscan_dnn (core function library and prediction models)
--__init__.py ()
--funcs_feautres.py (python functions for extracting sequence features)
--funcs_deredundancy.py (python functions for feature de-redundancy)
--x86 (includes third-part binary files used by lncRScan-DNN for 32 bit OS)
--txCdsPredict (a program for predicting the open reading frame or
codon sequence from a query sequence, "http://hgdownload.cse.ucsc.edu/admin/jksrc.zip")
--x86_64 (third-part binary files for 64 bit OS)
--txCdsPredict
--model (containing prediction models of 8 species)
--human -- DeepLearning_model_python_1525085024337_1
--mouse -- DeepLearning_model_python_1524185782926_1138
--chicken -- DeepLearning_model_python_1526453135652_1
--pig -- DeepLearning_model_python_1526453135652_971
--rat -- DeepLearning_model_python_1526453135652_2766
--zebrafish -- DeepLearning_model_python_1527081539257_2
--celegans -- DeepLearning_model_python_1527148077263_1
--chimp -- DeepLearning_model_python_1527142083667_1
--test
--human_lncRNA.fasta (contains 6 human lncRNA sequences)
--human_mRNA.fasta (contains 6 human mRNA sequences)
--LICENSE
--GPL_LICENSE.txt (for lncRScan-DNN)
--h2o_LICENSE.txt (for H2O)
--kPAL_LICENSE.txt (for kPAL)
--licenseUcscGenomeBrowser.txt (for txCdsPredict)
--Python_LICENSE.txt (for Python)
--BioPython_LICENSE.txt (for BioPython)
3. Installation
---------------
Currently lncRScan-DNN can be installed on a Linux/Unix OS by following steps:
(1) Install third-part dependancy programs or dependent packages
--Python 3.6 (https://www.python.org/downloads/release/python-363/. You can use update-alternative to convert Python2 to Python3.)
--Numpy (scientific computing, # pip3 install numpy)
--Biopython (a set of freely available tools for biological computation programmed in Python, # pip3 install biopython)
--Pandas (Python Data Analysis Library, # pip install pandas)
--kPAL (k-mer analysis toolkit and programming library, https://pypi.python.org/pypi/kPAL)
First, Install the progran by using
$ pip3 install kpal
and then open the script klib.py in /usr/local/lib/python3.6/site-packages/kpal/ and replace the code
"if name and ('/' in name or '.' in name):
raise ValueError('Profile name may not contain / or . characters.')"
with
"if name and ('/' in name):
raise ValueError('Profile name may not contain / character.')"
--h2o 3.18.0.4 (fast scalable machine learning API, http://h2o-release.s3.amazonaws.com/h2o/rel-wolpert/4/index.html,
http://h2o-release.s3.amazonaws.com/h2o/rel-wolpert/4/index.html)
$ pip3 install http://h2o-release.s3.amazonaws.com/h2o/rel-wolpert/4/Python/h2o-3.18.0.4-py2.py3-none-any.whl
(2) lncRScan-DNN installation
--extract the compressed source package by running
$ tar xvf lncRScan-DNN-v0.1.tar.gz
--enter the folder lncrsan_dnn_vX.X and run
$ pip3 install -e .
If you want uninstall the package, please run
$ pip3 uninstall lncrscan_dnn
--modify the directory of txCdsPredict (Optional)
If you are using a 32-bit OS, please open 'funcs_features.py' in folder lncrscan_dnn, and replace
'cmd = path+"/x86_64/txCdsPredict " + in_fasta + " -anyStart tmp.cds"' with
'cmd = path+"/x86/txCdsPredict " + in_fasta + " -anyStart tmp.cds"'.
4. Script Usage
---------------
(1) features.py
--Function: to extract features of sequences from a FASTA file
--Usage: feature -f|--fasta <FASTA> -o|--ofile <prefix_CSV>
--command parameters: -f|--fasta <an input FASTA file>; -o|--ofile <prefix of the output CSV file>; -h <help message>
(2) de_redundant.py
--Function: de-redundant the feature datasets based on the entropy of the k-mer pattern information)
--Usage: de_redundant -f <features.csv> -e <entropy.csv> -n <digital> -o <prefix_de_redundant>
--command parameters: -f input the redundrant features in csv file, -e input the entropy file in csv file
-n the count of remaining samples after de-redundancy, -o the prefix of output file.
(3) predictor.py (predicting lncRNAs/mRNAs, given a feature file in csv format and species)
--Usage: predictor -i/--ifile <input_file.csv> -s/--species <human|mouse|Celegans|chicken|chimp|pig|rat|zebrafish> -o/--outfile <output_file>
--command parameters: -i input file needed to predict, -s speices name, -o output prediction result
(4) predictor_fa.py (predicting lncRNAs/mRNAs, given a FASTA file)
--Usage: predictor_fa -i/--ifile <input_file.fa> -s/--species <human|mouse|Celegans|chicken|chimp|pig|rat|zebrafish> -n <number> -o/--outfile <output_file>
--command parameters: -i input file needed to predict, -s speices name, -n the count of remaining samples after de-redundancy, -o output prediction result
5. Examples
-----------
After the installation, Enter the folder 'test', you can do some tests as follows:
(1) Test 1 -- conduct lncRNA prediction step by step
Step1: extract features from *.fasta, e.g.
$ features -f human_lncRNA.fasta -o human_lncRNA
Two output files, namely human_lncRNA_fetures.csv and human_lncRNA_entropy.csv, will be generated.
Step2: remove feature redunduncy from *_feature.csv, e.g.
$ de_redundant -f human_lncRNA_feature.csv -e human_lncRNA_entropy.csv -n 5 -o human_lncRNA
A file named human_lncRNA_deredundant.csv will be gennerated.
Note: the value given by parameter n should not exceed the count of total sequences.
Step3: predicting the lncRNA/mRNA
$ predictor -i human_lncrna_deredundant.csv -s human -o human_lncRNA_pred
Note: If the value in column 'predict' equals '1', it means current sequence is predicted a lncRNA.
(2) Test 2 -- conduct lncRNA prediction straightforward, given a FASTA file.
$ predictor_fa -i human_lncRNA.fa -s human -n 5 -o human_mRNA_pred
Note: the value given by parameter n should not exceed the count of total sequences.
The 'pred_results' will contain prediciton resutls.