2013-04-18 30 views
3

我使用的是用於分子機械力場的模擬生物分子的amber12軟件,我按照下面鏈接Intallation of amber in Mac OS X中描述的安裝說明實際工作,但是在試用時執行軟件的停止方案的一部分,並表示`Fortran運行時錯誤:End of file` in Amber12

Fortran runtime error: End of file

1.So這是我做的,第一次訪問包含該文件

N-terminal-2:~ javieralejandrorendoncarrillo$ cd Desktop/amber/Complex1 

2.然後設置路徑的文件夾

N-terminal-2:Complex1 javieralejandrorendoncarrillo$ export AMBERHOME=/Users/javieralejandrorendoncarrillo/amber/amber12 

3.and最後執行程序白衣下一個命令行:

N-terminal-2:Complex1 javieralejandrorendoncarrillo$ $AMBERHOME/bin/sander.MPI -O -i min.in -o min_complex.out -p complex.prmtop -c complex.inpcrd -r complex_min.crd & 
[2] 13377 
N-terminal-2:Complex1 javieralejandrorendoncarrillo$ At line 524 of file mdread.F90 (unit = 5, file = 'min.in') 
Fortran runtime error: End of file 

[2]- Exit 2     $AMBERHOME/bin/sander.MPI -O -i min.in -o min_complex.out -p complex.prmtop -c complex.inpcrd -r complex_min.crd 
N-terminal-2:Complex1 javieralejandrorendoncarrillo$ 

文件min.in保存在文件夾Complex 1在那裏我運行模擬,這是腳本min.in

Initial minimisation of our complex 
&cntrl 
    imin=1, maxcyc=3000, ncyc=2500, 
    cut=16, ntb=0, igb=1, 
&end 

我該如何解決這個問題?語法錯了嗎?有誰知道如何執行或這是什麼樣的編程語言?

這是安裝gfortran的版本我有

N-terminal-2:~ javieralejandrorendoncarrillo$ gfortran -v 
Using built-in specs. 
COLLECT_GCC=gfortran 
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin12/4.7.2/lto-wrapper 
Target: x86_64-apple-darwin12 
Configured with: ../gcc-4.7.2/configure --prefix=/opt/local --build=x86_64-apple-darwin12 --enable-languages=c,c++,objc,obj-c++,lto,fortran,java --libdir=/opt/local/lib/gcc47 --includedir=/opt/local/include/gcc47 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.7 --with-libiconv-prefix=/opt/local --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.7 --with-gxx-include-dir=/opt/local/include/gcc47/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-ppl=/opt/local --with-cloog=/opt/local --enable-cloog-backend=isl --disable-cloog-version-check --enable-stage1-checking --disable-multilib --enable-lto --enable-libstdcxx-time --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket --disable-ppl-version-check --with-pkgversion='MacPorts gcc47 4.7.2_2' 
Thread model: posix 
gcc version 4.7.2 (MacPorts gcc47 4.7.2_2) 

回答

2

擴展的評論,而不是答案。你所得到的錯誤消息的兩個常見的原因,那就是

At line 524 of file mdread.F90 (unit = 5, file = 'min.in') Fortran runtime error: End of file 

  1. 正在讀取的文件是不是該程序正在尋找它。
  2. 程序試圖從文件中讀取比文件包含的更多數據。

從您發佈什麼,似乎是(1)是不可能的,但你可以通過插入INQUIRE語句來檢查文件是否存在打開它之前進行檢查。或者,您可以在文件OPEN語句中使用STATUS='old'關鍵字(和值),如果文件不存在,程序將報告錯誤。 (2),你幾乎是你自己的。這裏沒有人(除非你非常幸運)可能會知道你的程序希望從輸入文件中讀取什麼,並且你不會發布任何相關的代碼。您可能會考慮修改文件READ語句,以合併END=關鍵字參數來消除錯誤的來源。

我認爲Amber12的供應商本身可能比SO社區更瞭解他們的代碼;你的問題會更好地指向他們。

對於它的價值,我認爲問題與您使用的編譯器無關。

+0

腳本應該像我們的複雜 &CNTRL 愛民= 1,maxcyc = 3000,NCYC = 2500, 切= 16,NTB = 0的這個初始最小化,IGB = 1, / 和命令行$ Sander.MPI -O -i /Users/javieralejandrorendoncarrillo/Desktop/Amber/COMPLEX1/min.in -omin_complex.out -p complex.prmtop -c complex.inpcrd -r complex_min.crd –

10

我有同樣的錯誤信息:..file mdread.F90 (unit = 5, file = 'min_all.in')..

在調查這個問題,我出於某種原因發現,在min_all.in文件改變ntpr=56擺脫了問題:

&cntrl 
    imin=1, maxcyc=200, 
    ntpr=6, 
&end 

並無在這些抽屜裏最鋒利的刀事情,我很難看出爲什麼這爲我解決了這個問題。

ntpr值僅限定軌跡座標應該多長時間發送到出站文件,在這種情況下每6個步驟而不是每5個步驟。