These would be the first approaches.
I tried to add some comments which should explain the necessary steps.
# Training from scratch
model = models.resnet50(pretrained=False)
model.conv1 = nn.Conv2d(4, 64, 7, 2, 3, bias=False)

# Using pretrained weights and add a randomly initialized channel
model = models.resnet50(pretrained=True)
with torch.no_grad():
    # Just store the weight parameters, as conv1 does not use bias
    pretrained_conv1 = model.conv1.weight.clone()
    # Assign new conv layer with 4 input channels
    model.conv1 = nn.Conv2d(4, 64, 7, 2, 3, bias=False)
    # Use same initialization as vanilla ResNet (Don't know if good idea)
    nn.init.kaiming_normal_(
        model.conv1.weight, mode='fan_out', nonlinearity='relu')
    # Re-assign pretraiend weights to first 3 channels
    # (assuming alpha channel is last in your input data)
    model.conv1.weight[:, :3] = pretrained_conv1