Skip to content

Commit 050bc27

Browse files
bug fixes
1 parent 918f9c3 commit 050bc27

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

mucor3-python/utils/convert_samples.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def expand_field_by_delimiter(column: pd.Series, delim: str):
4040
pd.Series - input series converted to series of lists
4141
split by delim
4242
"""
43-
column.str.split(delim)
43+
return column.str.split(delim)
4444

4545
def remap_expanded_value(x, mapping: dict, delim: str):
4646
""" remaps value in column that has been expanded with
@@ -54,7 +54,7 @@ def remap_expanded_value(x, mapping: dict, delim: str):
5454
pd.Series - series with remapped ids combined by delimiter
5555
"""
5656
if type(x) == list:
57-
return delim.join([str(mapping.get(x, None)) for e in x])
57+
return delim.join([str(mapping.get(e, None)) for e in x])
5858
else:
5959
return mapping.get(x, None)
6060

@@ -76,7 +76,7 @@ def convert_dataframe_ids_in_rows(df: pd.DataFrame, mapping: dict, args: ap.Argu
7676
mapping - dictionary of id conversions
7777
args - program arguments
7878
"""
79-
for col in args.columns:
79+
for col in args.column:
8080
df[col] = expand_field_by_delimiter(df[col], args.delim) \
8181
.apply(lambda x: remap_expanded_value(x, mapping, args.delim))
8282

@@ -118,15 +118,15 @@ def convert_dataframe_ids(data_df: pd.DataFrame, key_df: pd.DataFrame, args: ap.
118118
args - program arguments
119119
"""
120120
mapping = dict()
121-
for pair in args.mappings:
121+
for pair in args.mapping.split(","):
122122
vals = pair.split("=")
123123
if len(vals) != 2:
124124
raise Exception("id column pair not valid: {}".format(pair))
125125
f = vals[0]
126126
t = vals[1]
127-
mapping.update(make_remapping(key_df. f, t))
127+
mapping.update(make_remapping(key_df, f, t))
128128

129-
if args.columns is None:
129+
if args.column is None:
130130
convert_dataframe_ids_in_columns(data_df, mapping, args)
131131
else:
132132
convert_dataframe_ids_in_rows(data_df, mapping, args)
@@ -201,14 +201,15 @@ def main():
201201
parser.add_argument("datafile",type=str, help="Input file containing Id to be converted")
202202
parser.add_argument("keyfile",type=str, help="File containing columns with id conversions")
203203
parser.add_argument("--column","-c", default=None, nargs="+", help="Name of column/s that the ids exist in the data file")
204-
parser.add_argument("--mapping", nargs="+", required=True, help="Column name pairs in keyfile to create id conversion mapping from, e.g \"sample=accession\"")
204+
parser.add_argument("--mapping","-m", required=True, help="Column name pairs in keyfile to create id conversion mapping from, e.g \"sample=accession\"")
205+
parser.add_argument("--delim","-d", default=";")
205206
args = parser.parse_args()
206207

207208
# Read files intp pandas dataframe
208-
keys = read_dataframe(args.datafile)
209-
data = read_dataframe(args.keyfile)
209+
data = read_dataframe(args.datafile)
210+
keys = read_dataframe(args.keyfile)
210211
convert_dataframe_ids(data, keys, args)
211-
212+
path = args.datafile
212213
if path.endswith(".xlsx"):
213214
data.to_excel(sys.stdout, index=False)
214215
elif path.endswith(".tsv"):

0 commit comments

Comments
 (0)