Манипуляции с необработанными выходными данными в python - PullRequest
0 голосов
/ 06 июля 2019

При использовании Python 3 мне нужно обработать выходные данные необработанных данных последовательности qPCR, выполнив поиск первого вхождения определенной пользователем строки, а затем создав новый фрейм данных, используя все строки после этой строки. Я пытаюсь найти решения в документе «Панды», но пока безуспешно.

Это необработанный выходной файл .csv, который мне нужно обработать. (Не удалось вставить полный CSV, поскольку превышает ограничение на число символов, это строки 40-50, и я надеюсь, что этот текст полезен?). Мне нужно сказать pandas создать новый фрейм данных, который 1. начинается со строки, содержащей первое вхождение str («Имя образца»), с этой строкой в ​​качестве заголовка и содержащей все следующие строки. И затем 2., включая только столбцы («Имя образца»), («Имя цели»), («CT»).

Может ли кто-нибудь помочь мне, чтобы я мог использовать python для анализа биологических данных? Большое спасибо, Люк

40,Quantification Cycle Method,Ct,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

41,Signal Smoothing On,true,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

42,Stage where Melt Analysis is performed,Stage3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

43,Stage/ Cycle where Ct Analysis is performed,"Stage2, Step2",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

44,User Name,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

45,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

46,Well,Well Position,Omit,Sample Name,Target Name,Task,Reporter,Quencher,Quantity,Quantity Mean,SE,RQ,RQ Min,RQ Max,CT,Ct Mean,Ct SD,Delta Ct,Delta Ct Mean,Delta Ct SD,Delta Ct SE,Delta Delta Ct,Automatic Ct Threshold,Ct Threshold,Automatic Baseline,Baseline Start,Baseline End,Amp Status,Comments,Cq Conf,CQCONF,HIGHSD,OUTLIERRG,Tm1,Tm2,Tm3,Tm4

47,1,A1,False,WT1,AtTubulin,UNKNOWN,SYBR,None,,,,,,,23.357698440551758,23.4766845703125,0.5336655378341675,,,,,,True,20959.612776965325,True,3,17,Amp,,0.9588544573203085,N,Y,N,81.40960693359375,,,

48,2,A2,False,WT1,AtTubulin,UNKNOWN,SYBR,None,,,,,,,24.05980110168457,23.4766845703125,0.5336655378341675,,,,,,True,20959.612776965325,True,3,15,Amp,,0.9592687354496955,N,Y,N,81.40960693359375,,,

49,3,A3,False,WT1,AtTubulin,UNKNOWN,SYBR,None,,,,,,,23.012556076049805,23.4766845703125,0.5336655378341675,,,,,,True,20959.612776965325,True,3,16,Amp,,0.9592714462250367,N,Y,N,81.40960693359375,,,

50,4,A4,False,fla11fla12-1,AtTubulin,UNKNOWN,SYBR,None,,,,,,,23.803699493408203,24.419523239135742,0.5669151544570923,,,,,,True,20959.612776965325,True,3,17,Amp,,0.9671570584141241,N,Y,N,81.40960693359375,,,

Это код, который у меня есть:

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

data = pd.read_excel ("2019-02-27_161601 AtWAKL8 different version expressions.xls", sheet_name='Results').fillna(0)

data.to_csv('df1' + '.csv', index=True)

df1 = pd.read_csv ("df1.csv")

1 Ответ

0 голосов
/ 06 июля 2019
  1. У вас проблемы с цитированием.
  2. grep лучше подходит для файлов .csv, чем для .xlsx

Вы отключаетесь от подпроцесса оболочкис аргументом имени файла, без правильной кавычки пробелов в имени файла.Было бы проще переименовать его, превратив пробелы в тире, например, 2019-02-27_161601-AtWAKL8-different-version-expressions.xls В его нынешнем виде вы пытаетесь grep строка «Позиция» из файла с именем 2019-02-27_161601, и из 2-го файла с именем AtWAKL8, 3-го с именем different и т. Д., Который вряд ли будет работать.

Электронная таблица .xlsx - это не текстовый формат, ориентированный на строки, который grep ожидает.Вы будете счастливее, если вы экспортируете или сохраняете в формате .csv в Excel или выполняете data.to_csv('expressions.csv')

...