Python: module papillon

papillon | index /home/lab/Documents/GitHub/Papillon/papillon.py

`A python version of CummeRbund to read and plot Galaxy/cuffdiff RNA-seq data
Before To start
========
After RNA-seq analysis with Galaxy,
download the 4 files generated by cuffdiff containing respectively:
... transcript_FPKM_tracking...
... gene_FPKM_tracking ...
... gene_differential_expression...
... transcript_differential_expression...
And put them in the same folder.
You can either use directly the files or change the names according to
cummeRbund in:
... transcript\_FPKM\_tracking... = isoforms.fpkm_tracking
... gene\_FPKM\_tracking ... = gene.fpkm_tracking
... gene\_differential\_expression... = gene_exp.diff
... transcript\_differential\_expression... = isoform_exp.diff`

Modules
`` |  |
os pandas | re seaborn | warnings |

Classes
`` |  | builtins.object Papillon_db Papillon_list
class Papillon_db(builtins.object)
`` | `Create a Papillon_db object using read_folder() or read_files() and _papillon_builder`
| Methods defined here: __init__(self, path, samples, comparisons, genes_detected, isoforms_detected) `self.path - files path self.samples - samples found self.comparisons - comparisons found self.genes_detected - dataframe of genes detected self.isoforms_detected - dataframe of isoforms detected` __str__(self) `Return str(self).` change_order(self, new_order) `Change the samples order Parameters ---------- new_order: list of samples order Example ---------- MyProject.change_order(["Sample 4","Sample 3","Sample 2","Sample 1"])` drop_comparison(self, comparison) `Drop Comparison (str) or list of comparisons Parameters ---------- comparison: comparison (str) or list of comparisons Example ---------- MyProject.drop_comparison(specific_comparison)` get_gene(self, genelist=None, comparison='all', comparison_sign=None, fold_ind=None, fold_sign='>') `This method select genes per name or conditions. It return a Papillon_list object Parameters ---------- genelist - accept string (1 gene name), list of gene names or file with a list of gene names comparison - To select genes higher/lower in one condition compared to another. Accept either "all" to pass all the comparisons, or accept only 1 comparison as str (already present in the data) comparison_sign - usable in combination with comparison, accept either ">" or "<" fold_ind - fold induction (log2) higher/lower then number fold_sign - usable in combination with fold_ind, accept either ">" or "<" Example ---------- Selection=MyProject.get_gene(["CD44","CCL15"], comparison="Sample 1_vs_Sample 2", comparison_sign="<", fold_ind=1, fold_sign="<")` get_isoform(self, genelist=None, comparison='all', comparison_sign=None, fold_ind=None, fold_sign='>') `This function select isoforms. It creates a Papillon object Parameters ---------- genelist - accept string (1 gene name), list of gene names or file with a list of gene names comparison - To select genes higher/lower in one condition compared to another. Accept either "all" to pass all the comparisons, or accept only 1 comparison as str (already present in the data) comparison_sign - usable in combination with comparison, accept either ">" or "<" fold_ind - fold induction (log2) higher/lower then number fold_sign - usable in combination with fold_ind, accept either ">" or "<" Example ---------- Selection=MyProject.get_isoform(["IL6","CCL15","IL17RC"], comparison="Sample 2_vs_Sample 4", comparison_sign="<")` search(self, word, where, how='table', export=False) `search among genes/isoforms names in detected and significant Parameters ---------- word - accept a str to search among the gene names where - accept: "genes_detected" "genes_significant" "isoforms_detected" "isoforms_significant" how - accept: "table" return the dataframe with the genes found "list" return a list of names, no duplicates export - True/False Example ---------- search_result=MyProject.search(word="IL6",where="genes_significant", how="table")` Data descriptors defined here: __dict__ `dictionary for instance variables (if defined)` __weakref__ `list of weak references to the object (if defined)`
class Papillon_list(builtins.object)
`` | `Class containing a selected list of genes, with data associated, generated by Papillon_db.get_gene() or Papillon_db.get_isoform() methods Is possible add the content of two or more Papillon_list objects. Example: P_list3 = P_list1+P_list2 P_list4=sum([PL1, PL2, PL3])`
| Methods defined here: __add__(self, other) __init__(self, df, what, comparisons, path, samples, comparison='all', comparison_sign=None, fold_ind=None, fold_sign='>', p=0.05) `Initialize self. See help(type(self)) for accurate signature.` __radd__(self, other) __str__(self) `Return str(self).` compare(self, other) `Compare two Papillon_list objects Parameters ---------- other: another Papillon_list object Example ---------- Selection1.compare(Selection2)` export(self) `Export the selected genes/isoforms as excel file. Example ---------- Selection.export()` heatmap(self, z_score=False, col_cluster=False, method='complete', cmap='seismic', export=False, **options) `Generate heatmap using selected genes/isoforms Parameters ---------- z_score - True/False whether want or not apply z-score normalization col_cluster - True/False whether want or not cluster the samples method - clustering algorithm - default is complete-linkage cmap - map color export - True/False whether want or not export the dataframe of selected genes **options - all the options accepted by seaborn.clustermap default metric is euclidean. Example ---------- Selection.heatmap(z_score=True,export=True)` lineplot(self, title='', legend=True, z_score=False, export=False, size=10, ci=None, **option) `LinePlot selected genes expression levels. Max number of genes 200 Parameters ---------- title - accept a str as title of the plot legend - True/False show the legend z_score - True/False calculate the z-score normalization export - True/False whether or not export the image size - change the size of the plot **options - all the options accepted by seaborn.factorplot Example ---------- Selection.lineplot(export=True,z_score=True)` onlyFPKM(self, return_as, remove_FPKM_name=False) `Take a Papillon_list object and return only FPKM columns. Parameters ---------- return as: "df" - pandas DataFrame "array" - numpy array "gene name" - pandas DataFrame containing gene names remove_FPKM_name: True/False Example ---------- df=Selection.onlyFPKM("df")` plot(**parameter) `Deprecated. Use self.lineplot() instead` search(self, string) `Search a string in the Papillon_list Parameters ---------- string - accept a str to search among the gene names Example ---------- search_results=Selection.search("IL")` select(self, genelist) `Create another Papillon_list object Parameters ---------- genelist: accept string (1 gene name), list of gene names or file with a list of gene names Example ---------- Selection2=Selection1.select(["IL6","CCL15"])` show(self) `Show genes/isoforms as Dataframe Example ---------- Selection.show()` Data descriptors defined here: __dict__ `dictionary for instance variables (if defined)` __weakref__ `list of weak references to the object (if defined)`

Functions
`` |  | read_db(path, drop_comparison=None) `Deprecated. Use read_folder() instead.` read_files(files, path=None, drop_comparison=None) `Accept cuffdiff/cummeRbund files as iterable ("transcript_FPKM_tracking", "gene_FPKM_tracking", "gene_differential_expression", "transcript_differential_expression") and return them to _papillon_builder() to create a Papillon_db object. Parameters ---------- files - accept an iterable with the cuffdiff files names path - where to export Papillon generated files drop_comparison - drop comparison (str) or list of comparisons to drop from the cuffdiff table Example ---------- pp.read_files(["Files/gene_exp.diff","Files/genes.fpkm_tracking","Files/isoform_exp.diff","Files/isoforms.fpkm_tracking"])` read_folder(path, drop_comparison=None) `Read the folder containing the cuffdiff/cummeRbund files, and return them to _papillon_builder() to create a Papillon_db object. Parameters ---------- path - accept a str with the folder path, containing the cuffdiff files drop_comparison - drop comparison (str) or list of comparisons to drop from the cuffdiff table Example ---------- MyProject=pp.read_folder("MyFolder/Test_files")`