Итак, я делаю некоторые молекулярно-динамические симуляции для моего последнего университетского проекта. Я новичок в кодировании, и меня попросили преобразовать некоторый код из 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? Я не могу найти простой способ удалить определенные столбцы или строки для этого типа файла.