view aplcms_to_ramclustr_converter.py @ 4:9ea34e24474f draft

"planemo upload for repository https://github.com/RECETOX/galaxytools/tools/aplcms_to_ramclustr_converter/ commit 2dd20229f0c7f43dacc0d201ea50fef3c993d30e"
author recetox
date Mon, 09 Aug 2021 15:29:08 +0000
parents 07667688735e
children
line wrap: on
line source

#!/usr/bin/env python

import argparse
import sys

import pandas as pd


parser = argparse.ArgumentParser()
parser.add_argument("--dataframe", help="Parquet dataframe")
parser.add_argument('output')
args = parser.parse_args()


def main():
    featureTable = pd.read_parquet(args.dataframe)

    # Concatenate "mz" and "rt" columns; select relevant columns; pivot the table
    featureTable["mz_rt"] = featureTable["mz"].astype(str) + "_" + featureTable["rt"].astype(str)
    featureTable = featureTable[["sample", "mz_rt", "sample_intensity"]]
    featureTable = pd.pivot_table(featureTable, columns="mz_rt", index="sample", values="sample_intensity")

    try:
        featureTable.to_csv(args.output, sep=',')
        msg = f"Dataset of {len(featureTable)} samples is converted to a feature-by-sample table"
        print(msg, file=sys.stdout)
        return 0
    except Exception:
        print("Could not write the data", file=sys.stdout)
        return 1


if __name__ == "__main__":
    main()