Posted: 1 Mar 2021 | 14:03
Choosing the right software for use in a research software project can be challenging. How do we know which software is both fit for purpose and provides a sound basis for our project for the foreseeable future? And, how do we make such a choice given that the time and effort to explore what could be myriad alternatives may be limited?
This was a challenge we faced in the RiboViz project, a multi-disciplinary team of biologists, bioinformaticians and research software engineers based at EPCC and The Wallace Lab at University of Edinburgh, The Shah Lab at Rutgers University, and The Lareau Lab at University of California, Berkeley. RiboViz is an open source package to help us develop our understanding of protein synthesis via analysis of ribosome profiling data. At the heart of RiboViz is an analysis workflow, implemented in a Python script. To conform to best practices for scientific computing, which recommend the use of build tools to automate workflows and to reuse code instead of rewriting it, we sought to reimplement this workflow within a bioinformatics workflow management system.
Posted: 8 Aug 2018 | 10:55
The Software Sustainability Institute has published a set of guides to depositing research software into digital repositories. The guides, development of which was funded by Jisc, are intended for researchers, principal investigators and research leaders, and research data and digital repository managers.
Research software is an integral part of the modern research ecosystem. Taken together, research software – alongside data, facilities, equipment, and an overarching research question – can be viewed as a research activity or experiment, worthy to be published. Conversely, a publication can be considered as a narrative that describes how the research objects are used together to reply to the research question.
Posted: 24 Jul 2018 | 16:50
On the 11th July, the Software Sustainability Institute and Jisc ran a Software Deposit and Preservation Workshop at St Anne's College, Oxford. This workshop brought together twelve research data managers, digital repository vendors, publishers, policymakers and researchers. We reviewed draft guidance on software deposit and preservation, discussed software deposit and preservation from the perspectives of the foregoing stakeholders, and explored ways in which to drive forward the adoption of best practices in software deposit and preservation.
Posted: 8 Oct 2016 | 11:46
Posted: 22 Aug 2016 | 11:28
This guest post by Simon Hettrick, Deputy Director of the Software Sustainability Institute, explains how the role of research software engineer has gained greater definition and recognition.
On a beautifully sunny day in March 2012, a small group met at Queen’s College Oxford and challenged a long-standing problem: why is there no career for software developers in academia? They didn’t know it at the time, but this meeting led to a nationwide campaign that created a vibrant and rapidly growing community, and established a new role in research: the Research Software Engineer.
Posted: 18 Jul 2016 | 12:20
Over the last 10 years, the growth in performance of HPC systems has come largely from increasing core counts, which poses a question of application developers and users – how to best make use of the parallelism on offer?
Posted: 21 Jun 2016 | 07:59
Choice, choice, choice
I'm often asked "What programming language should I learn for scientific computing?". Or I get involved in religious-like discussions about the best programming language for a particular task, or of all time (think Python vs Fortran, Go vs C, etc...). What's my answer?
Just recently I realised that, to me, programming languages are like musical instruments.
Posted: 5 May 2016 | 16:43
Recently I seem to have had many conversations about programming languages for HPC. In some ways this is not a new subject - I have been having similar conversations for the last 20 years. However as HPC hardware evolves, machines become more complex and the issues that need to be addressed by programmers also become more complex. So it is not surprising that we are wondering if there is more the compiler could be doing to help us.
Posted: 14 Apr 2016 | 21:02
Writing programs assuming that they will be incorrect
I was thinking about development methodologies and software design principles recently and have decided that one of the things I've learned is that it is essential to write programs with the assumption they are going to fail.
I don't think that any of us like to think that the programs we write or maintain will go wrong, or have mistakes/problems in them. However, as I've discussed previously, it is very hard to develop code without making mistakes: coding mistakes, algorithmic errors, mistaken assumptions, etc...
Posted: 13 Apr 2016 | 14:47
SHAPE (SME HPC Adoption Programme in Europe) is a pan-European initiative supported by PRACE (Partnership for Advanced Computing in Europe). The Programme aims to raise awareness and provide European SMEs with the expertise necessary to take advantage of the innovation possibilities created by high-performance computing (HPC), thus increasing their competitiveness. SHAPE allows SMEs to benefit from the expertise and knowledge developed within the top-class PRACE Research Infrastructure.