Opened 5 years ago

Closed 4 years ago

#4280 closed defect (not a bug)

Save movie image files numbered starting at 25 instead of 1

Reported by: aalhossary@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Input/Output Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.19041
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
I was trying to generate a movie using this script

movie record directory c:\Temp\chim format png limit 15000;movie duplicate;coordset #1 1,;wait 30;movie encode "C:/Users/Amr/OneDrive/Amr and Nosa/SCAsia2021/Attic/Ivermectin_ACE-2.mp4" verbose true resetMode  clear

There are files, but they start with chimovie_0Txj-00025.png

Log:
UCSF ChimeraX version: 1.1 (2020-09-09)  
© 2016-2020 Regents of the University of California. All rights reserved.  

> open "C:\Users\Amr\OneDrive\Amr and
> Nosa\SCAsia2021\Attic\Ivermectin_ACE-2.cxs" format session

Log from Mon Feb 22 01:02:50 2021 Startup Messages  
---  
warning | Your computer has Intel graphics driver 8190 with a known bug that
causes all Qt user interface panels to be blank. ChimeraX can partially fix
this but may make some panel titlebars and edges black. Hopefully newer Intel
graphics drivers will fix this.  
  
UCSF ChimeraX version: 1.1 (2020-09-09)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open C:/Temp/mdSim_mmpbsa_7/humanACE-2/md_Ivermectin/complex_traj.pdb
> coordsets true

Summary of feedback from opening
C:/Temp/mdSim_mmpbsa_7/humanACE-2/md_Ivermectin/complex_traj.pdb  
---  
warnings | Ignored bad PDB record found on line 1  
REMARK GENERATED BY TRJCONV  
  
Ignored bad PDB record found on line 3  
REMARK THIS IS A SIMULATION BOX  
  
Ignored bad PDB record found on line 9661  
REMARK GENERATED BY TRJCONV  
  
Ignored bad PDB record found on line 9663  
REMARK THIS IS A SIMULATION BOX  
  
Ignored bad PDB record found on line 19321  
REMARK GENERATED BY TRJCONV  
  
57 messages similar to the above omitted  
  
complex_traj.pdb title:  
1R42 in water t= 0.00000 step= 0 [more info...]  
  
Chain information for complex_traj.pdb #1  
---  
Chain | Description  
A | No description available  
  
Non-standard residues in complex_traj.pdb #1  
---  
[00 — ([00)  
  
complex_traj.pdb has 31 coordinate sets  

> rainbow

> select up

2 atoms, 1 bond, 1 residue, 1 model selected  

> select up

136 atoms, 142 bonds, 1 residue, 1 model selected  

> view sel

> ui tool show H-Bonds

> ui tool show H-Bonds

> hbonds sel color #ffff00 interModel false select true reveal true

94 hydrogen bonds found in 31 coordsets  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-packages\chimerax\ui\gui.py",
line 1993, in _forward_keystroke  
if not self.floating and not isinstance(self.ui_area.focusWidget(),
(QLineEdit, QComboBox)):  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-packages\chimerax\ui\gui.py",
line 1826, in _get_floating  
return self.__toolkit.dock_widget.isFloating()  
AttributeError: 'NoneType' object has no attribute 'dock_widget'  
  
AttributeError: 'NoneType' object has no attribute 'dock_widget'  
  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-packages\chimerax\ui\gui.py",
line 1826, in _get_floating  
return self.__toolkit.dock_widget.isFloating()  
  
See log for complete Python traceback.  
  

> label sel attribute name

> label sel attribute label_specifier

> label sel text "/{0.chain_id} {0.name} {0.number}{0.insertion_code}"

> select clear

> select /B:616@C17

1 atom, 1 residue, 1 model selected  

> select /B:616@C17

1 atom, 1 residue, 1 model selected  

> select up

136 atoms, 142 bonds, 1 residue, 1 model selected  

> ~label sel residues

> set bgColor white

> select clear

> graphics silhouettes true

> lighting shadows true

> lighting simple

> lighting soft

> lighting full

> lighting flat

> lighting shadows true intensity 0.5

> graphics silhouettes false

> graphics silhouettes true

> lighting shadows false

> lighting shadows true

> lighting shadows false

> lighting shadows true

> lighting full

> lighting shadows false

> save "C:/Users/Amr/OneDrive/Amr and
> Nosa/SCAsia2021/Attic/Ivermectin_ACE-2.cxs"

opened ChimeraX session  

> movie record directory c:\Temp\chim format PNG limit 15000

> movie duplicate

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 275, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2805, in run  
result = ci.function(session, **kw_args)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\movie\moviecmd.py", line 258, in movie_duplicate  
session.movie.postprocess('duplicate', frames)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\movie\movie.py", line 282, in postprocess  
self.capture_image() # Capture all frames right now.  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\movie\movie.py", line 172, in capture_image  
self.save_duplicate_images()  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\movie\movie.py", line 211, in save_duplicate_images  
image = Image.open(save_path)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-packages\PIL\Image.py", line
2843, in open  
fp = builtins.open(filename, "rb")  
FileNotFoundError: [Errno 2] No such file or directory:
'c:\\\Temp\\\chim\\\chimovie_0Txj--0001.png'  
  
FileNotFoundError: [Errno 2] No such file or directory:
'c:\\\Temp\\\chim\\\chimovie_0Txj--0001.png'  
  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-packages\PIL\Image.py", line
2843, in open  
fp = builtins.open(filename, "rb")  
  
See log for complete Python traceback.  
  

Failed to send bug report. Error while sending follows:  

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\bug_reporter\bug_reporter_gui.py", line 241, in submit  
errcode, errmsg, headers, body = post_multipart_formdata(BUG_HOST,
BUG_SELECTOR, fields)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\site-
packages\chimerax\webservices\post_form.py", line 40, in
post_multipart_formdata  
h.request('POST', url, body=body, headers=headers)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\http\client.py", line 1262, in
request  
self._send_request(method, url, body, headers, encode_chunked)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\http\client.py", line 1308, in
_send_request  
self.endheaders(body, encode_chunked=encode_chunked)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\http\client.py", line 1257, in
endheaders  
self._send_output(message_body, encode_chunked=encode_chunked)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\http\client.py", line 1028, in
_send_output  
self.send(msg)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\http\client.py", line 968, in send  
self.connect()  
File "C:\Program Files\ChimeraX 1.1\bin\lib\http\client.py", line 940, in
connect  
(self.host,self.port), self.timeout, self.source_address)  
File "C:\Program Files\ChimeraX 1.1\bin\lib\socket.py", line 707, in
create_connection  
for res in getaddrinfo(host, port, 0, SOCK_STREAM):  
File "C:\Program Files\ChimeraX 1.1\bin\lib\socket.py", line 752, in
getaddrinfo  
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):  
socket.gaierror: [Errno 11001] getaddrinfo failed  




OpenGL version: 3.3.0 - Build 27.20.100.8190
OpenGL renderer: Intel(R) UHD Graphics
OpenGL vendor: Intel
Manufacturer: HP
Model: HP ProBook 430 G7
OS: Microsoft Windows 10 Education (Build 19042)
Memory: 17,009,516,544
MaxProcessMemory: 137,438,953,344
CPU: 8 Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz"
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.8.0
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2020.6.20
    chardet: 3.0.4
    ChimeraX-AddH: 2.1.3
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.6.1
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 1.0.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.0
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.0
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.0
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-CommandLine: 1.1.3
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.1
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.0.1
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-DataFormats: 1.0
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1
    ChimeraX-DistUI: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.0
    ChimeraX-Hbonds: 2.0
    ChimeraX-Help: 1.0
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.0
    ChimeraX-ImageFormats: 1.0
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0
    ChimeraX-Label: 1.0
    ChimeraX-ListInfo: 1.0
    ChimeraX-Log: 1.1.1
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Map: 1.0.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.0
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 1.1
    ChimeraX-MDcrds: 2.0
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.0
    ChimeraX-mmCIF: 2.2
    ChimeraX-MMTF: 2.0
    ChimeraX-Modeller: 1.0
    ChimeraX-ModelPanel: 1.0
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.0
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0
    ChimeraX-OpenCommand: 1.2.1
    ChimeraX-PDB: 2.1
    ChimeraX-PDBBio: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0
    ChimeraX-PubChem: 2.0
    ChimeraX-Read-Pbonds: 1.0
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.0
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.2
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SeqView: 2.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.0
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.0
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.0.4
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.0
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.0
    ChimeraX-ToolshedUtils: 1.0
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.2.3
    ChimeraX-uniprot: 2.0
    ChimeraX-ViewDockX: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0
    ChimeraX-WebServices: 1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.3
    comtypes: 1.1.7
    cxservices: 1.0
    cycler: 0.10.0
    Cython: 0.29.20
    decorator: 4.4.2
    distlib: 0.3.1
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    gdcm: 2.8.8
    grako: 3.16.5
    h5py: 2.10.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.16
    imagecodecs: 2020.5.30
    imagecodecs-lite: 2020.1.31
    imagesize: 1.2.0
    ipykernel: 5.3.0
    ipython: 7.15.0
    ipython-genutils: 0.2.0
    jedi: 0.17.2
    Jinja2: 2.11.2
    jupyter-client: 6.1.3
    jupyter-core: 4.6.3
    kiwisolver: 1.2.0
    line-profiler: 2.1.2
    lxml: 4.5.1
    MarkupSafe: 1.1.1
    matplotlib: 3.2.1
    MolecularDynamicsViewer: 1.1
    msgpack: 1.0.0
    netifaces: 0.10.9
    networkx: 2.4
    numexpr: 2.7.1
    numpy: 1.18.5+mkl
    numpydoc: 1.0.0
    openvr: 1.12.501
    packaging: 20.4
    parso: 0.7.1
    pickleshare: 0.7.5
    Pillow: 7.1.2
    pip: 20.2.2
    pkginfo: 1.5.0.1
    prompt-toolkit: 3.0.7
    psutil: 5.7.0
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.6.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.12.3
    PyQt5-sip: 4.19.19
    PyQtWebEngine-commercial: 5.12.1
    python-dateutil: 2.8.1
    pytz: 2020.1
    pywin32: 228
    pyzmq: 19.0.2
    qtconsole: 4.7.4
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.4.1
    setuptools: 49.4.0
    sfftk-rw: 0.6.6.dev0
    six: 1.15.0
    snowballstemmer: 2.0.0
    sortedcontainers: 2.2.2
    Sphinx: 3.1.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 1.0.3
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.4
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2020.6.3
    tinyarray: 1.2.2
    tornado: 6.0.4
    traitlets: 5.0.4
    urllib3: 1.25.10
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.34.2
    WMI: 1.5.1

Change History (5)

comment:1 by pett, 5 years ago

Component: UnassignedInput/Output
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionSave movie image files numbered starting at 25 instead of 1

Reported by Amr Al Hossary

comment:2 by Tom Goddard, 5 years ago

The problem is the "movie duplicate" command which duplicates the previously recorded frame 25 times. But you run it before any movie frame is recorded. Not sure what you are trying to do, but you could put a "wait 1" before the movie duplicate command so one frame will have been recorded.

in reply to:  3 ; comment:3 by aalhossary@…, 5 years ago

Thanks for the suggestion. It fixed the problem.

I was trying to find a quick and dirty method to slow down a movie. I have a 31 frames trajectory and I wanted to create a movie of 15 second duration at least.

Regards

Amr

-----Original Message-----
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: Tuesday, February 23, 2021 5:36 AM
Cc: Amr Ali Mokhtar Alhossary (Dr) <aalhossary@ntu.edu.sg>; goddard@cgl.ucsf.edu
Subject: Re: [ChimeraX] #4280: Save movie image files numbered starting at 25 instead of 1

#4280: Save movie image files numbered starting at 25 instead of 1
-----------------------------------+-------------------------
          Reporter:  aalhossary@…  |      Owner:  Tom Goddard
              Type:  defect        |     Status:  assigned
          Priority:  normal        |  Milestone:
         Component:  Input/Output  |    Version:
        Resolution:                |   Keywords:
        Blocked By:                |   Blocking:
Notify when closed:                |   Platform:  all
           Project:  ChimeraX      |
-----------------------------------+-------------------------

Comment (by Tom Goddard):

 The problem is the "movie duplicate" command which duplicates the  previously recorded frame 25 times.  But you run it before any movie frame  is recorded.  Not sure what you are trying to do, but you could put a  "wait 1" before the movie duplicate command so one frame will have been  recorded.

--
Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4280#comment:2>
ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker
________________________________

CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its contents.
Towards a sustainable earth: Print only when necessary. Thank you.

in reply to:  4 ; comment:4 by goddard@…, 5 years ago

To playback your 31 frame trajectory at two frames per second to make a 15 second movie you can use the coordset command pauseFrames option.

movie record ; coordset #1 1,31 pauseFrames 12 ; wait 380 ; movie encode "C:/Users/Amr/OneDrive/Amr and Nosa/SCAsia2021/Attic/Ivermectin_ACE-2.mp4" 

The default movie playback speed is 25 frames per second, so this example puts in 12 extra frames (0.5 seconds) after each trajectory position. 

https://www.rbvi.ucsf.edu/chimerax/docs/user/commands/coordset.html

Another approach would be to change the playback speed using the movie encode "framerate" option to playback at only 2 frames per second, for example,

movie record ; coordset #1 1,31 ; wait 31 ; movie encode "C:/Users/Amr/OneDrive/Amr and Nosa/SCAsia2021/Attic/Ivermectin_ACE-2.mp4" framerate 2

Some movie players may have trouble with playing a movie at 2 frames per second so the first method is probably more reliable.

https://www.rbvi.ucsf.edu/chimerax/docs/user/commands/movie.html#encode <https://www.rbvi.ucsf.edu/chimerax/docs/user/commands/movie.html#encode>

comment:5 by Tom Goddard, 4 years ago

Resolution: not a bug
Status: assignedclosed
Note: See TracTickets for help on using tickets.