Как редактировать файлы .dat в python? - PullRequest
0 голосов
/ 23 октября 2019

Итак, я делаю некоторые молекулярно-динамические симуляции для моего последнего университетского проекта. Я новичок в кодировании, и меня попросили преобразовать некоторый код из BASH в python. Сценарий BASH, по сути, принимает несколько файлов данных: ... x.dat, где x - количество выполненных имитаций. Я смотрю на расстояния между атомами углерода (с1 и с10) и генерирую гистограмму на основе расстояния между этими двумя атомами углерода за 30 наносекунд. Первые 10 нс должны быть удалены из данных по причинам, в которые я не буду вдаваться. Сценарий BASH выглядит следующим образом:

!/bin/bash

# number of runs to process
x=1
int=1
X=6
# code (modify name of files if appropriate)
for x in `seq $x $int $X`; do
  sed '2,2501d' wt_atas_fpps_C1_C10_r$x.dat > wt_atas_fpps_c1_c10_af10_r$x.dat
  awk '{$1=$3=""; print $0}' wt_atas_fpps_c1_c10_af10_r$x.dat > tmp.dat
  sed '1d' tmp.dat > wt_atas_fpps_c1_c10_af10_onlydist_r$x.dat
  rm tmp.dat
  perl ./histogram.pl -i wt_atas_fpps_c1_c10_af10_onlydist_r$x.dat -o hist_wt_atas_fpps_c1_c10_af10_r$x.dat -min 2.0 -max 12 -col 1 -int 0.1 -freq
done

Файл данных выглядит следующим образом:

#Frame       C1-C10-d         sdih
   1       4.5218      79.2201
   2       4.9504      78.0684
   3       4.5568     138.0529
   4       4.6582      65.7324
   5       4.4398     119.6567
   6       4.6302     105.3040
   7       5.5387     146.4703
   8       4.6112      90.8193
   9       5.0781     106.4628
  10       5.3428     139.9808
  11       4.4887     132.3399
  12       5.1901      95.9297
  13       4.7968     128.4568
  14       5.8146     100.8803
  15       5.3278     105.8811

До 7500 (итого 7501 строк). Я думаю, что скрипт Bash по существу удаляет строки 2-2501, чтобы избавиться от первых 10 нс. Затем он удаляет столбцы 1 и 3, чтобы получить только столбец расстояния. Заголовок затем удаляется путем удаления первой строки, чтобы получить файл только с расстояниями. Затем запускается скрипт гистограммы perl для генерации гистограммы.

Мой вопрос: как мне воспроизвести это в python? Я не могу найти простой способ удалить определенные столбцы или строки для этого типа файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...