Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Alexander Rose
    @arose
    @wojdyr NGL and Mol* will converge eventually.
    Marcin Wojdyr
    @wojdyr
    Does it mean replacing THREE with regl?
    Alexander Rose
    @arose
    yes
    do you rely on three.js?
    Marcin Wojdyr
    @wojdyr
    no, I was just curious. I'm also thinking about migrating UglyMol to regl as I ended up using only custom shaders in THREE.
    Fred Ludlow
    @fredludlow
    @CopoiuLiviu_twitter (this reply rather late but in case others are googling). If you include 'ngl.js' (in the dist directory) in a script tag at the top of your page then the NGL package will be available in the global scope. Check out some of the codepen examples for where to go from there (e.g. new NGL.Stage("viewport") etc. etc.)
    Paul Pillot
    @ppillot
    Hi, I am still in the process of converting more js to ts. I am dealing with scripts in the Surface folder now and I realize that there is a concern with the way dependencies are sent to workers: when using class objects, only the constructor is sent to the worker and not the other methods. Do you have any idea why this happens and how to circumvent it?
    Alexander Rose
    @arose
    Don't know a way to use classes and get the full source to sent to workers. I suggest to leave it as is and only provide TS annotations, i.e. interfaces.
    Paul Pillot
    @ppillot
    Ok, you're right it's working as is, with just the typings...
    Paul Pillot
    @ppillot
    Question bout getRadiusDict in surface-utils: it appears to me that this function creates a dictionary with radix as key and booleans as value. Am I correct?
    In edt-surface, does the following code r = radiusDict[ name ] if (!btype) { tradius = r * scaleFactor + 0.5 } else { tradius = (r + probeRadius) * scaleFactor + 0.5 }
    use the boolean value of r cast as a 0 or 1 number to compute tradius?
    Alexander Rose
    @arose
    uhh, that was a bug, fixed here arose/ngl@a2f3d83
    the radiusDict could probably refactored to be just a list
    Paul Pillot
    @ppillot
    Cool! I've fixed it too in my PR
    Peter Schmidtke
    @pschmidtke
    Hey. are there developments to support mtz file support for volume data in NGL?
    Fred Ludlow
    @fredludlow
    @pschmidtke Can mtz files provide volume data directly? I thought mtz files store reflections then you fft to create a ccp4/map/mrc file with the volume data. The ccp4/mrc format is already supported: e.g. the mrc and ccp4 examples in the gallery: http://nglviewer.org/ngl/gallery/index.html.
    Peter Schmidtke
    @pschmidtke
    Hi Fred, no they don't and yes you have to go through fft indeed. I'm already aware of ccp4/mrc, map, cns and xplor format support of NGL. Just that mtz is gaining popularity and it would be interesting to get a direct support. Not sure if it's even possible (fft in js ;))
    Fred Ludlow
    @fredludlow
    Quick google says yes, lots of fft implementations in js :) Though I suspect it's not trivial to deal with space groups and all the other stuff that e.g. ccp4's fft does. Would be a fun project ;)
    Marcin Wojdyr
    @wojdyr
    these fft implementations are usually only 1D or 2D, I couldn't find 3D fft in JS. (3D fft is based on 1D fft, so having fast 1D fft also helps). I think there is also no readily available library for parsing the MTZ format, although it's a well documented format so it is also doable. I've been thinking about implementing what @pschmidtke asked for a while, but I don't know if I ever get to do it.
    Alexander Rose
    @arose
    I am also not aware of any js library that does 3d fft. I would be interested in parsing mtz files but so far no time and a lack of understanding what is required to get a volume apart from doing 3d fft.
    DAlvGar
    @DAlvGar
    Hi all! I am plotting interactions between a ligand and a protein using the Shape component and adding dashed cylinders to it and finally adding a buffer representation. With this set up I did not find how to switch the visibility of independent cylinders (eg. i want to display only hydrophobic interactions) or I want to change the color of one cylinder when it is selected. The solution i had in place was to destroy and rebuild the whole Shape component. Is there a better way? Should i create independent shapes for each cylinder? How is that performing compared to a single shape?
    DAlvGar
    @DAlvGar
    image.png
    for the style i am not completely destroying the shape, but to set the visibility i do not see how this could be done without a separate shape. Any help is very welcome :)
    Alexander Rose
    @arose
    sorry but setting visibility of individual elements in a shape is not supported
    DAlvGar
    @DAlvGar
    ok thanks Alexander. I should go for individual shapes then.
    Tony Yang
    @tonyyzy
    Hello, nooby question. I want to calculate the protein-ligand interactions, such as hydrogen bonds. Can is be done in ngl directly?
    Alexander Rose
    @arose
    @tonyyzy, yes just add a contact representation, this will display non-covalent interactions.
    Tony Yang
    @tonyyzy
    Ty!
    Tony Yang
    @tonyyzy
    A followup question, is there a convenient way of recreating the PDB ligand view king of graph? or I have to filter out the non-interacting residues in ngl
    DAlvGar
    @DAlvGar
    Hi everybody, I've been wondering if there has been some new development since this issue (arose/ngl#323) to better treat measurements between different structures? I am implementing a measure mode where the user picks atoms to create different types of measures dynamically and I would appreciate some way to avoid concatenation if its possible :)
    Alexander Rose
    @arose
    No, there has been no work in NGL. When support for measurements will be added to molstar.org this feature will be supported. Notably it is possible in Mol* to create structures from multiple models/files transparently.
    Peter Schmidtke
    @pschmidtke
    Is it then reasonable to say that for future integrations and developments we should rather follow Mol* than NGL?
    Alexander Rose
    @arose
    Hi @pschmidtke, yes, that is the way forward. Feel free to write me an email if you want to know more where we are headed and how you could contribute and steer.
    Tony Yang
    @tonyyzy
    Hey people, king of a long shot question. When I tried to open my viewer on my phone (android with chrome browser). The visualisation area is black when I'm not touching the screen (shows when I'm moving the molecule). This problem does not exist when I open RCSB or ngl gallery (codepen) on my phone. Anyone may have any idea why this happens?
    BTW, here's the viewer I was referring to, https://tonyyzy.github.io/ETviewer/
    Alexander Rose
    @arose
    The issue you are describing usually arises from the multisample antialiasing (MSAA). Make sure you are using the latest NGL version. If the problem persist try to set the 'sampleLevel' parameter of the Stage object to 0. This will switch of the MSAA.
    Tony Yang
    @tonyyzy
    Can confirm using dev35. I will give MSAA a try tomorrow, thanks alot!
    Peter Schmidtke
    @pschmidtke
    image.png
    HI all, is there some documentation available how to programmatically generate a solvent accessible surface like that with radiusType vdw radius? In all the API docs we find we cannot specify that parameter and the surface is then different to what is shown in the NGL sample web app
    Fred Ludlow
    @fredludlow
    Is that a specific example or one you've created? And it what way does the surface look different?
    Peter Schmidtke
    @pschmidtke
    the screenshot above is from the NGL sample app online, when you create a SAS with vow radius of the pocket, the pocket surface nearly touches the ligand (vow radii are taken into account + radius for solvent). If we do that using the function to create a surface representation of type SAS the surface looks not the same, the radii's are smaller basically. ProbeRadius is set, but we cannot set this radius type (by vow radius programmatically)
    Fred Ludlow
    @fredludlow
    Ah, I see, that's rather hidden in the documentation: You want radiusType: 'vdw' (the default is 'size', which hopefully explains the difference you're seeing)
    It doesn't seem to be exposed in the normal documentation, but for reference: https://github.com/arose/ngl/blob/2d84a993/src/utils/radius-factory.ts#L11
    Tony Yang
    @tonyyzy
    Hey people! I know mdsrv is not under active development any more but is there still place to get help?
    Johanna K. S. Tiemann
    @j0kaso
    Hey Tony! Sure! Best would be an issue or ask directly ;-) btw, I'm currently working (slowly) on a new release, just busy as usual...
    Tony Yang
    @tonyyzy
    @j0kaso Hey Johanna! That's awesome! Let me know if there's anything I can help with the dev process, I have some experience in python/js/web and I do hope to set up mdsrv to better share my MD data.
    Currently having a bit trouble setting up mdsrv under macos with apache, will ask when I have a more specific problem.
    Tony Yang
    @tonyyzy
    Interestingly I just had a meeting on data management and I think in the field of MD, we are doing a bit poorly on FAIR data sharing principle. AFAIK, there's no central repository for MD data? Maybe we can build a framework around mdsrv to facilitate the sharing of trajectories.
    Johanna K. S. Tiemann
    @j0kaso
    absolutely true! one of my next goals is to connect mdsrv with data sharing resources like figshare... But a central repository like the pdb isn't easy to maintain - but have a look at e.g. plumed-nest, or purpose-specific resources (GPCRmd, NMRlipids databank, ...), something like this is more likely to help in FAIR right now than waiting for a MDpdb ;-)
    Tony Yang
    @tonyyzy
    Thanks for the info! Never heard of plumed before but it looks very cool, a solid step towards MD reproducibility. I just got started in MD and I always ask myself if I can sanity check my inputs ;). I agree that a centralised repo definitely needs institutional support (e.g. EBI). I was more thinking about a data-sharing framework that individual lab can deploy easily as an interim solution. You are right that a public data-sharing resource is likely to be more sustainable but they always have space limitations or needs curation effort :(
    BTW MDbox looks very promising but there's no continuation of it now https://conference.eresearch.edu.au/wp-content/uploads/2017/07/Karmen-Condic-Jurkic.pdf