Princeton software engineering




















Global reconstruction necessarily entails the unpacking and clustering of the hit information from all silicon strip tracker modules before the hits are processed by mkFit. To enable efficient unpacking and clustering steps so that the hits can be processed all at once for the entire detector, a parallelized version of unpacking and clustering is developed for both multi-core CPU and many-core GPU [2]. The new implementation along with earlier work in developing a parallelized and vectorized implementation of the combinatoric Kalman Filter algorithm has enabled efficient global reconstruction of the entire event on modern computer architectures.

Lantz et al. Speeding up particle track reconstruction using a parallel Kalman filter algorithm, Journal of Instrumentation, Volume 15, Sep Cerati et al. Parallelizing the unpacking and clustering of detector data for reconstruction of charged particle tracks on multi-core CPUs and many-core GPUs, arXiv preprint arXiv Binding scores for the CTCF protein for different ligand types.

Higher bars indicate higher binding affinity at respective positions along the protein. Over the years, students at "SinghLab" under Prof. Mona Singh have developed several algorithms for "domain" identification on protein sequences. Domains are segments in the protein chain that have largely evolved independently, internally maintain their structure, and are thus useful units for analyses.

Further, multiple students at SinghLab have developed algorithms that are able to identify regions within a domain that are ripe for binding with ligands. This allows practitioners in the field to target regions of the protein that are most likely to be susceptible to a reaction. Singh wanted an integrated web application that allowed users to dine a la carte on these several approaches developed over the years.

This effort would also help polish and document code developed by graduate students. We took several independent codebases developed over time, some in Python and others in Perl, and developed an integrated Web Portal for Protein Domain analysis. This allows users to run these algorithms on their protein sequences, with no programming or infrastructure requirements. The web application is hosted at Research Computing at Princeton. In the process of developing this web application, we also streamlined the data-processing pipeline, making it easier for future SinghLab researchers to add their own algorithms for domain identification and ligand-binding scoring.

HydroFrame hydroframe. Our mission is to help researchers create the most efficient, scalable, and sustainable research codes possible in order to enable new scientific advances. We do this by working as an integral part of traditional academic research groups, providing leadership in the design and construction of complex and highly customized software systems.

We can support sophisticated data science and computational research projects in high energy physics, machine learning, neuroscience, and genomics, among many other disciplines. We provide our partner groups with domain-specific algorithms and solution techniques; optimization and performance tuning; and insights and guidance with current and future software development tools, programming languages, and high-performance computing hardware.

An experienced RSE has the tools and knowledge to work collaboratively with domain researchers in a manner that ensures the quality, performance, reliability, and sustainability of the software. In addition to software development and technical expertise, RSEs provide two other critical advantages in the research software ecosystem. First, RSEs serve as leaders and mentors to novice software developers, including undergraduates, graduate students, and postdoctoral researchers. Second, RSEs are recruited to design and deliver software training programs to students and researchers.

These training programs are uniquely beneficial as RSEs understand the technology, audience, and requirements of research software. We do this by working as an integral part of traditional academic research groups, providing leadership in the design and construction of complex and highly customized software systems.

Our group is committed to creating a collaborative environment in which best software engineering practices are valued, and to sharing and applying cross-disciplinary computational techniques to new and emerging areas. Each RSE is assigned to a partnering department, institute, center, consortium, or PI referred to as "partner". This includes meeting the expectations listed in the next section RSE Expectations.

Too much would take away from project work, too little limits growth and minimizes the ability to leverage the collective RSE group knowledge. In many cases, RSEs are asked to track their time. This is done on a case-by-case basis depending on the specific situation of each RSE. RSEs who are supporting more than one initiative typically track their time to ensure that each project is getting an appropriate effort.

They accrue 2 vacation days each month. RSEs are expected to be independent and capable of managing their own time and efforts. Allocating individual RSE time to specific projects can be managed in a manner best suited for all parties involved. Requirements tend to be unique and therefore the structure of project intake and assignment should be organized in a way that addresses the needs of a partner organization while maximizing the ability of an individual RSE to make a meaningful impact.

An established process for RSE project intake is important, especially when multiple parties are involved. RSE project intake typically falls into one of the following models:. For co-funded positions, this is the most typical form of project intake and assignment, especially when the partner is a department or center and has many potential constituents.

Interested faculty respond with a short description of a potential project, and a meeting with the RSE and RSE group leadership is scheduled. During the meeting, goals and deliverables of the project, an estimated scope, and the expected time commitment are discussed while guidelines for productive collaboration are established. Regular project check-ins are scheduled throughout the project cycle to ensure project goals are being met.

Renewals and small maintenance projects are possible through subsequent calls for software projects cycles. For fully-funded partnerships, this is the most common and simplest form of project assignment. As such, there is no need for a process to request, review and select new projects. Occasional project check-ins and regular communication are still important to ensure project goals are being met. Occasionally, an RSE will take on a project by direct request or through a meeting.



0コメント

  • 1000 / 1000